创建一个程序,要求用户输入数字(整数)。程序打印"键入数字“直到用户键入数字-1。当用户输入数字-1时,程序会打印"谢谢你,以后再见!"结束。
这是代码:
import java.util.Scanner;
public class TheSumOfSetOfNumbers {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int number=0, sum=0, count=0, even=0, odd=0;
double average=0;
System.out.println("Type numbers: ");
while(true)
{
number=Integer.parseInt(reader.nextLine());
if(number==(-1)) break;
}
}
当我检查时,这是错误: 记得用Integer.parseInt读取用户输入(reader.nextLine()); 只打电话一次!
如果我只调用一次,如何扫描很多数字?
答案 0 :(得分:1)
这是您将在此方案中使用的内容。使用do while循环,您可以获得输出
public static void main (String args[]){
Scanner scan=new Scanner(System.in);
int num=0;
do{
System.out.println("Enter Numbers");
num=scan.nextInt();
}while(num!=-1);
System.out.println("Thanks ! See you later");
}
答案 1 :(得分:0)
如果您总是键入数字,我将使用此:
final Scanner scanner = new Scanner(System.in);
boolean exit = false;
System.out.println("Type numbers:");
while(!exit){
if(scanner.nextInt() != -1) exit = true;
}
System.out.println("Thank you and see you later!");
但是每次想要从输入中读取内容时,都必须调用扫描仪对象。
答案 2 :(得分:0)
注意:这一直持续到用户输入-1:
while(reader.hasNextLine()) // Edited from hasNext()
{
number=Integer.parseInt(reader.nextLine());
if(number==(-1)) {
System.out.println("Thank you and see you later!");
break;
}
}
答案 3 :(得分:-1)
final Scanner scanner = new Scanner(System.in);
System.out.println("Type numbers:");
while(scanner.nextInt() != -1);
System.out.println("Thank you and see you later!");