【发布时间】:2017-07-27 01:27:51
【问题描述】:
我的讲义中有以下示例代码。在我的代码中,如果您尝试直接打印,则会得到与我想要的不匹配的输出。如何打印我刚刚选择的汽车清单。不显示任何其他行。但如果输入小于 1 且大于 3 则显示错误消息
package scanner1;
import java.util.Scanner;
public class Scanner1 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int carSelect;
int [] noNumb = {1,2,3};
String [] carList = {"Lexus","Bugati","McLaren"};
System.out.println("================ Car List ================");
for (int i = 0; i < noNumb.length; i++) {
System.out.println(noNumb [i]+". "+carList[i]);
}
System.out.println(" ");
System.out.print("Choose your car : ");
carSelect = scan.nextInt ();
loop:
for (int i=0; i<noNumb.length; i++){
if(carSelect == noNumb [i]){
System.out.println("Great you choose " +carList[i]);
break;
}else if (carSelect <= noNumb[i]){
System.out.println("Your input is less than 1 ");
break;
} else {
System.out.println("Wrong input ");
}
}
} }
输出:
================ Car List ================
1. Lexus
2. Bugati
3. McLaren
Choose your car : 3
Wrong input
Wrong input
Great you choose McLaren
BUILD SUCCESSFUL (total time: 1 second)
【问题讨论】:
-
为什么要有for循环?有什么意义?
-
我认为您正在寻找一个 while 循环来检查有效输入
-
顺便说一句,您的逻辑并未准确检查“您的输入小于 1”
-
@AndrewLi 我的讲师让我用 for 循环处理这个案例,我也不知道为什么。我认为,循环用于检索索引数组:)
-
@cricket_007 我还没试过,但谢谢你的建议:)
标签: java arrays if-statement