Presentation is loading. Please wait.

Presentation is loading. Please wait.

ソフトウェア制作論 平成30年10月17日.

Similar presentations


Presentation on theme: "ソフトウェア制作論 平成30年10月17日."— Presentation transcript:

1 ソフトウェア制作論 平成30年10月17日

2 第4章 エラーへの対応3 入力データのチェック <本日の学習のねらい> 入力データの誤入力への対応を、幾つかの典型例を通じて学習す る。
第4章 エラーへの対応3 入力データのチェック <本日の学習のねらい> 入力データの誤入力への対応を、幾つかの典型例を通じて学習す る。 データ誤入力によりプログラムが異常終了しないようにする。→ プログラマーの責任

3 【基礎課題4-1】 int month=Integer.parseInt(jTextFieldBirthMonth.getText());
String groupName=""; switch(month % 4) { case 0: groupName="Aグループです。"; break; case 1: groupName="Bグループです。"; case 2: groupName="Cグループです。"; case 3: } jLabelMessage.setText(groupName);

4 【基礎課題4-1】 if(month>=1 && month<=12) { else {
int month=Integer.parseInt(jTextFieldBirthMonth.getText()); String groupName=""; if(month>=1 && month<=12) { switch(month % 4) { case 0: groupName="Aグループです。"; break; ・・・ } else { groupName="もう一度誕生月を入力し直して下さい。"; jLabelMessage.setText(groupName);

5 【基礎課題4-2】 char c; boolean inputFlag=true; //半角数字以外が含まれたらfalseとする。
for(int i=0;i<input.length();i++) { c=input.charAt(i); //文字列inputのi番目の文字を取得 if( c<'0' || c>'9‘ ) { inputFlag= false ; break; } //表示内容の定義(割り当て) if(inputFlag){ int month=Integer.parseInt(input); if(month>=1 && month<=12) { ・・・ 基礎課題4-1と同じ ・・・ else { groupName="半角数字以外の文字が入力されています。"; jLabelMessage.setText(groupName);

6 【基礎課題4-2】 char c; boolean inputFlag=true; //半角数字以外が含まれたらfalseとする。
for(int i=0;i<input.length();i++) { c=input.charAt(i); //文字列inputのi番目の文字を取得 if( c<'0' || c>'9‘ ) { inputFlag= false ; break; } //表示内容の定義(割り当て) if(inputFlag){ int month=Integer.parseInt(input); if(month>=1 && month<=12) { ・・・ 基礎課題4-1と同じ ・・・ else { groupName="半角数字以外の文字が入力されています。"; jLabelMessage.setText(groupName);

7 【基礎課題4-2補足】 int month; try{ month=Integer.parseInt(input);
if(month>=1 && month<=12) { ・・・グループ分け処理・・・ } catch(NumberFormatException e){ groupName="数字以外の文字が入力されています。"; } jLabelMessage.setText(groupName);

8 【基礎課題4-3】 <PasswordFieldからの入力文字列の取得> //パスワードの取得
【基礎課題4-3】  <PasswordFieldからの入力文字列の取得> //パスワードの取得 char[] passChar=jPasswordField1.getPassword(); int n=passChar.length;//入力文字の個数 もし、”abcd”を入力すると・・・ passChar[0]: ’a’   passChar[1]: ’b’ passChar[2]: ’c’ passChar[3]: ’d’ n: 4

9 【基礎課題4-3】 ① for(int i=0; i<n;i++){
【基礎課題4-3】 ① for(int i=0; i<n;i++){ if( (passChar[i]<'a' || passChar[i]>'z') && (passChar[i]<'A' || passChar[i]>'Z') ) { inputFlag=false; break; }

10 【基礎課題4-3】 ① for(int i=0; i<n;i++){
【基礎課題4-3】 ① for(int i=0; i<n;i++){ if( (passChar[i]<'a' || passChar[i]>'z') && (passChar[i]<'A' || passChar[i]>'Z') ) { inputFlag=false; break; }

11 【基礎課題4-3】 ② for(int i=0; i<n;i++){
【基礎課題4-3】 ② for(int i=0; i<n;i++){ if( (passChar[i]<'a' || passChar[i]>'z') && (passChar[i]<'A' || passChar[i]>'Z') || (n<6 || n>12) ) { inputFlag=false; break; } <メッセージの変更> “半角英字以外が入力されました。” "パスワードの条件を満たしていません。"

12 【基礎課題4-3】 ② for(int i=0; i<n;i++){
【基礎課題4-3】 ② for(int i=0; i<n;i++){ if( (passChar[i]<'a' || passChar[i]>'z') && (passChar[i]<'A' || passChar[i]>'Z') || (n<6 || n>12) ) { inputFlag=false; break; } <メッセージの変更> “半角英字以外が入力されました。” "パスワードの条件を満たしていません。"

13 【基礎課題4-A】 for(int i=0; i<n;i++){
if( (passChar[i]<'a' || passChar[i]>'z') && (passChar[i]<'A' || passChar[i]>'Z') || (n<6 || n>12) ) { inputFlag=false; break; }

14 && (passChar[i]<'0' || passChar[i]>'9')
for(int i=0; i<n;i++){ if( (passChar[i]<'a' || passChar[i]>'z') && (passChar[i]<'A' || passChar[i]>'Z') || (n<6 || n>12) ) { inputFlag=false; break; } && (passChar[i]<'0' || passChar[i]>'9')


Download ppt "ソフトウェア制作論 平成30年10月17日."

Similar presentations


Ads by Google