ここから本文です

プログラムの記述でわからないことがあります。java

voi********さん

2012/11/1100:32:03

プログラムの記述でわからないことがあります。java

プログラミングを学んでいます。以下の記述で質問です。
class dentaku{
public static void main(String args[]){
int num1=0;
int num2=0;
String en;

if(args.length !=3){
System.out.println("java dentaku 数値 演算子 数値 です。");
System.out.println("演算子は kake waru tasu hiku の4つです");
System.exit(0);
}

num1=Integer.parseInt(args[0]);
num2=Integer.parseInt(args[2]);
en=args[1];

boolean err=false;

if(!en.equals("kake")){
if(!en.equals("waru")){
if(!en.equals("tasu")){
if(!en.equals("hiku")){
err=true;
}
}
}
}

if(err==true){
System.out.println("演算子は kake waru tasu hiku の4つです。");
System.exit(0);
}

System.out.println("入力された式は"+num1+en+num2+"です。");
}
}
__________________________________________

javaコマンドによる実行時に指定された文字列が正しい記述だとして
最後のif文
if(err==true){
trueは正しいってことですよね?
ならなんでtrueの場合には
if(err==true){
System.out.println("演算子は kake waru tasu hiku の4つです。");
System.exit(0);
}
で終わってしまうんですか?

本来なら正しい記述をしているんだから
System.out.println("入力された式は"+num1+en+num2+"です。");
}
}
の記述を出力しなければならないのに。
行ってることが意味わからないと思いますが
なんだかこの記述が腑に落ちません。

わかりやすく教えてくれるとありがたいです。

閲覧数:
229
回答数:
2

違反報告

ベストアンサーに選ばれた回答

pz_********さん

2012/11/1109:38:56

err は boolean で、if文の ( ) 内も boolean だから、

if(err){
System.out.println("演算子は kake waru tasu hiku の4つです。");
System.exit(0);
}

・・・が普通の書き方でしょうか。
でも、ロジックは元の書き方であってます。くどい書き方だけど。

日本語的にすると・・・
「そのケーキがマズいなら、買わない」

「そのケーキがマズいということが真実ならば、買わない」
・・・みたいな言い回しですね。

質問した人からのコメント

2012/11/11 23:52:56

なるほど。一つひねくれてる感じですね。
回答ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

xia********さん

2012/11/1100:53:54

trueは「正しい」ではなく数学用語の「真」です。(false は偽)
err は error を略したのでしょう。ってことはエラーが真。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる