こんにちは私はユーザーが 'M'または 'l'を入力しなかった場合にメッセージを生成するIf文を生成しようとしています。 'M'または 'l'が入力されている場合は、回答(4または5)が表示されます。java IF文が動作しません。変数に問題があります。
文字を入力するたびにエラーがポップアップし、「ピザサイズはM(中)またはl(大)」でなければならないというメッセージがポップアップします。私は数字だけではなく文字を入力したい。
私はhaventが質問を正しく説明してもお詫び申し上げます。
public static void main(String args[]) {
char invalid;
double M, l;
Scanner pizzasize = new Scanner(System.in);
double fstep = 0, sstep = 0, tstep = 0, ostep = 0, lstep = 0;
M = 4;
l = 5;
System.out.println("Enter pizza size:");
fstep = pizzasize.nextDouble();
if(fstep != M|| fstep != l){
System.out.println("Pizza size must be M (medium) or l (large):");
}else{
String input = pizzasize.next();
if(fstep == M||fstep ==l){
fstep = M;
}
else if(input.equals("l")){
fstep = l;
}
pizzasize.close();
}
} }
'場合(FSTEP!= M || FSTEP!= 1){'は常にtrueになりますが行っている番号の比較よりも、if文で文字列比較を行うために、より良い文字を比較したい場合は –
'(fstep!= M || fstep!= l)'は、ユーザーが入力した 'M'または 'l' "を意味するものではなく、" a "ユーザーが 'M'を入力しなかったか、** '**'を入力していません。そのうちの1つは常に真実です。 – shmosel
これは私が今まで見た中で最も混乱しやすいコードの1つです。 – Mritunjay