3

我有一个关于扫描仪实用程序的基本 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 问题,因为代码没有其他问题。

4

3 回答 3

2

而不是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,你应该称之为readerinput;代表其功能的东西。同样的想法也适用于你的其他变量。此外,类名以大写字母开头。

以下是完成的结果:

在此处输入图像描述

于 2013-09-12T03:31:29.320 回答
2

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();
于 2013-09-12T03:32:51.060 回答
1

通过键入几行,这可以为您节省一些时间:

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));
于 2013-09-12T03:39:30.900 回答