我们可以在一行中读取和比较来自控制台的值吗?
Can we read and compare the value from the console in a single line?
以下是我在 c/c++ 中使用的一段代码,它相当简单:
while ((scanf_s("%d", &num) == 1)&&num>0)
下面是读取输入的常用 java 代码:
try(Scanner n1 = new Scanner(System.in))
{
System.out.println("Enter the number of days");
while(n1.hasNextInt())
{
days = n1.nextInt();
//some stmts
n1.nextLine();
}
}
如何使用 while 来读取输入以及比较单个 "while" 中的值,就像我在 C 和 C++ 中所做的那样;
你可以这样做:
int num;
final Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt() && (num = scanner.nextInt()) > 0) {
// do something with num
}
或者,您可以这样做:
int input;
final Scanner scanner = new Scanner(System.in);
System.out.print("Type anything: ");
try
{
input = scanner.nextInt();
System.out.println("You typed: " + input);
}
catch (InputMismatchException e)
{
System.out.println("You typed a non-numeric value or the value entered is out of range.");
}
对于输入不是数字或超出范围的情况,您可以处理异常。
以下是我在 c/c++ 中使用的一段代码,它相当简单:
while ((scanf_s("%d", &num) == 1)&&num>0)
下面是读取输入的常用 java 代码:
try(Scanner n1 = new Scanner(System.in))
{
System.out.println("Enter the number of days");
while(n1.hasNextInt())
{
days = n1.nextInt();
//some stmts
n1.nextLine();
}
}
如何使用 while 来读取输入以及比较单个 "while" 中的值,就像我在 C 和 C++ 中所做的那样;
你可以这样做:
int num;
final Scanner scanner = new Scanner(System.in);
while (scanner.hasNextInt() && (num = scanner.nextInt()) > 0) {
// do something with num
}
或者,您可以这样做:
int input;
final Scanner scanner = new Scanner(System.in);
System.out.print("Type anything: ");
try
{
input = scanner.nextInt();
System.out.println("You typed: " + input);
}
catch (InputMismatchException e)
{
System.out.println("You typed a non-numeric value or the value entered is out of range.");
}
对于输入不是数字或超出范围的情况,您可以处理异常。