Java 如何使扫描器读取乘法数字并打印它们而不必向下一行

Java 如何使扫描器读取乘法数字并打印它们而不必向下一行,java,Java,我是java新手,我正在尝试编写以下代码: 用户逐个输入数字,代码需要立即打印每个数字,并继续接收同一行的下一个数字 这是我目前的代码: Scanner user = new Scanner(System.in); String value = user.nextLine(); String matrix = ""; int point = 0; int pos = 0; while(pos <

我是java新手,我正在尝试编写以下代码: 用户逐个输入数字,代码需要立即打印每个数字,并继续接收同一行的下一个数字

这是我目前的代码:

        Scanner user = new Scanner(System.in);
        String value = user.nextLine();
        String matrix = "";
        int point = 0;
        int pos = 0;
        while(pos <= 5)
        {
            if(isInteger(value))
            {
                System.out.print(matrix.substring(point) + "\t");
                matrix = matrix + value+",";
                point+=2;
                pos++;
            }
            else
            {
                System.out.print("Not a number");
            }
            value = user.next();
        }
我想这样做:

1     2     3     4     5

有没有办法让扫描仪读取另一个数字,并且仍然保持在同一行?

您必须使用
nextInt()
而不是指定的
nextLine()

请尝试以下方法:

public static void main(String args[]) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Type in all your numbers and hit return");
    while (scanner.hasNext()) System.out.println(scanner.next());
}

用户在一行中插入所有数字。然后扫描输入,每个整数扫描一个整数,然后打印它们。作为分隔符,我使用空格。

在这里,您可以在一行中输入所有数字,并按enter键,输出将在一行中。请查看

    int num; 
    int pos = 0;
    Scanner scanner = new Scanner(System.in);
    System.out.println("Type all the integers and hit return :");

    while (pos < 5) {

         if(scanner.hasNextInt()) {

         num = scanner.nextInt();
         System.out.print(num + "\t");
         pos++;

     } else { 

             scanner.next();  
             System.out.print("Not an integer number! ");
         }
    }
int-num;
int pos=0;
扫描仪=新的扫描仪(System.in);
System.out.println(“键入所有整数并点击返回:”);
while(pos<5){
if(scanner.hasNextInt()){
num=scanner.nextInt();
系统输出打印(num+“\t”);
pos++;
}否则{
scanner.next();
System.out.print(“不是整数!”);
}
}
例子: 输入:12345

产出:12345


输入:123M5


输出:1 2 3不是整数!5

不会消耗换行符,但当用户用IMO@ifLoopnextInt返回int,因此首先他必须输入
123445(输入字符)
,但是他的程序之后会在一行中打印出
123445
所有内容,末尾没有换行符。但是每次我在程序运行时向扫描仪输入另一个数字时,它就会转到下一行,听起来好像OP希望在键入时一个接一个地读取它们,当用enter确认时不是。@ifLoop yes和他的问题将通过使用
nextInt()
解决,因为它将返回一个不带换行符的整数。他目前的解决方案是读取输入的整个字符串。如果他切换到
nextInt()
并打印int而不是String,那么他将不会包含换行符。也许会给你一些提示。
    int num; 
    int pos = 0;
    Scanner scanner = new Scanner(System.in);
    System.out.println("Type all the integers and hit return :");

    while (pos < 5) {

         if(scanner.hasNextInt()) {

         num = scanner.nextInt();
         System.out.print(num + "\t");
         pos++;

     } else { 

             scanner.next();  
             System.out.print("Not an integer number! ");
         }
    }