我有一个关于scanner实用程序的基本java问题。假设我有一个简单的程序,它接受用户输入并将其存储在变量中。我的问题是当我运行要求多个输入的程序时,光标从问题的开头而不是在它之后开始。 我的代码是:
public class question3 {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("Enter the first number:");
Float a = s.nextFloat();
System.out.println("Enter the second number:");
Float b = s.nextFloat();
System.out.println("Sum = " + (a+b));
System.out.println("Difference = " + (a-b));
System.out.println("Product = " + (a*b));
}
}
当我运行此程序时,它看起来像输入第一个数字然后我输入数字,然后输入第二个数字。 “|”意思是闪烁光标所在的位置。当我输入它时会显示在下面,但它可能会让用户感到困惑,所以我想知道解决方案是什么。
这是一个IDE问题,因为代码没有其他问题。
答案 0 :(得分:1)
在每次输入之前,而不是println(String)
,将其更改为print(String)
。所以它看起来像这样:
public class question3{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.print("Enter the first number:");
Float a = s.nextFloat();
System.out.print("Enter the second number:");
Float b = s.nextFloat();
System.out.println("Sum = " + (a+b));
System.out.println("Difference = " + (a-b));
System.out.println("Product = " + (a*b));
}
}
另外,只需注意,您应该为变量使用适当/适当的命名约定。与您的Scanner
一样,您应该将其称为reader
或input
;代表其功能的东西。其余的变量也有同样的想法。此外,班级名称以大写字母开头。
以下是完成的结果:
答案 1 :(得分:1)
System.out.println打印出字符串然后打印一个新行,因此您的输入将被放置在一个新行上。尝试阅读
System.out.print("Enter the first number:");
Float a = s.nextFloat();
System.out.println();
System.out.print("Enter the second number:");
Float b = s.nextFloat();
System.out.println();
答案 2 :(得分:0)
这可以通过输入几行来节省你几秒钟:
System.out.print("Enter the first number:");
Float a = s.nextFloat();
System.out.print("\nEnter the second number:");
Float b = s.nextFloat();
System.out.println("\nSum = " + (a+b)
+"\nDifference = " + (a-b)
+"\nProduct = " + (a*b));