如何在Java';s扫描器实用程序

如何在Java';s扫描器实用程序,java,java.util.scanner,println,Java,Java.util.scanner,Println,我有一个关于scanner实用程序的基本java问题。假设我有一个简单的程序,它接受用户输入并将其存储在变量中。我的问题是,当我运行要求多个输入的程序时,光标从问题的开头开始,而不是在问题的后面。 我的代码是: public class question3 { public static void main(String[] args){ Scanner s = new Scanner(System.in); System.out.println("Ent

我有一个关于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问题,因为代码没有其他问题。

在每次输入之前,将其更改为
打印(字符串)
。所以它看起来像这样:

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));


    }
}
另外,请注意,您应该为变量使用适当的命名约定。就像你的
扫描仪
,你应该称它为
阅读器
输入
;代表其功能的事物。同样的想法也适用于其他变量。此外,类名以大写字母开头

以下是完成的结果:


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();

这可以通过键入几行来节省几秒钟:

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));

s.nextFloat()是否存在;为您新建一行?@ns47731从图像(使用IntelliJ)可以看出,它看起来是这样的。@JoshM感谢您的回答,但我的问题似乎是光标闪烁,程序将数字放在正确的位置,但在显示屏上,它显示光标在问题的开头闪烁。你能想象吗?或者我应该照张相吗?@VrnRap我想这真的取决于你使用的是哪个IDE。当然,用图片更新你的问题。听起来你在使用Dr.Java,在这种情况下,我相信你只需点击输入的正常位置,插入符号就会移动到那里。@JoshM ya当我按下或键入一个可视的东西时,它确实移动到了正确的位置。我想这没什么大不了的。这基本上是同一个问题,因为这不是计划的问题。可能是因为Eclipse,我不知道,但光标仍然在不同的位置闪烁,而不是它应该在的位置。这是IDE的问题。你的程序看起来很完美。添加\n、可能、可能会使它变得更好,但光标闪烁是IDE的一项功能。@Vijairam ya我想是的。我看不到任何其他问题或解决方案。谢谢