私はクラスのラボの一部で何らかの問題を抱えていますが、そのほとんどは簡単ですが何らかの理由でmy while文が私の望むことをしていません。それは無効な入力を返し、ユーザーに賃貸人を促すようになっています。ただし、すべての入力が無効であるとみなします。 (コードで分かりやすいはずです)どうすれば修正できますか?私の本で見つけることができないので、私は情報を見つけることができましたか? (2番目のwhileループ、最初のものが動作します)Javaラボでの使用(ユーザーが無効な入力を入力)
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class lab8
{
public static void main (String[] args)
{
int choice;
String item;
double costper;
ArrayList <String> Items = new ArrayList <String>();
Items.add ("computer");
Items.add ("Monitor");
Items.add ("Color Printer");
Items.add ("Color Scanner");
Items.add ("DVD/CDROM");
Items.add ("To Quit");
ArrayList <Integer> Num = new ArrayList <Integer>();
Num.add (0);
Num.add (1);
Num.add (2);
Num.add (3);
Num.add (4);
Num.add (5);
System.out.println ("\t\tMy Super Computer Store\n");
int index=0;
int endex= 0;
while (index < Items.size() && endex < Num.size())
{
System.out.println ("\t" +Num.get(index)+"\t"+Items.get (endex));
index++;
endex++;
}
Scanner scan = new Scanner (System.in);
System.out.print ("\n\t\t\tEnter the item to purchase: ");
choice = scan.nextInt();
{
if (choice==5)
{
JOptionPane.showMessageDialog (null, "Thanks for considering My Super Computer Store");
System.exit (0);
}
}
{
if (choice==0 || choice==1 || choice==2 || choice==3 || choice==4)
{
item = Items.get (choice);
}
}
while (choice!=0 || choice!=1 || choice!=2 || choice!=3 || choice!=4 || choice!=5)
{
System.out.println ("Invalid Input, Please enter a integer between 0 and 5. ");
System.out.print ("\n\t\t\tEnter the item to purchase: ");
choice = scan.nextInt();
}
System.out.print ("\n\n\t\t\tEnter the quantity to purchase: ");
int Qty = scan.nextInt();
}
}
コードを読みやすくするために、インデントを使用してください。 –
申し訳ありません...編集を送信する前に実際に変更内容を確認するのを忘れました。 –