java如何让输入的数字在同一行

在终端里面这样会输一个字换一行,怎么解决这个问题

如图,就用你那种写法就可以同一行输入啦!


你试试看吧。😄

追答

有个问题,你的输入器怎么是4个?应该用统一同一个输入器

即全部用interger1

追问

我是想要每个数存在自己的值,但是input时要在同一行,因为后面还有对每个数的运算

追答

用同一个输入器可以将每个数输入各自的值啊。
你可以截个图,让我看看你完整的代码吗?
你这一小段代码不完整

追问

就是得让input在终端中显示出来是enter your fpur integers: 1 2 3 4

追答

我的代码如下:

public static void main(String[] args) {

int []a= new int[5];
Scanner input = new Scanner(System.in); //只需要创建一个输入器!
for(int i=0; i< a.length ;i++) { //输入 可以用空格隔开每个数,最后一个数用回车
a[i]= input.nextInt();
}
for(int i=0; i< a.length ;i++) {//输出演示看看对不对
System.out.println(a[i]);
}
}

你可以这么写:

    public static void main(String[] args) {
 
        Scanner integer = new Scanner(System.in);    //只创建一个输入器
        System.out.print("Enter your four integers:");
        int i1 = integer.nextInt();    //按照你的写法
        int i2 = integer.nextInt();
        int i3 = integer.nextInt();
        int i4 = integer.nextInt();
         
    }追问

我的意思就是不只是1234,任何数都可以,但是要让他们在一排,比如1,7,20,80

追答

你试过了没?这个写法就可以输入任何(int类的)整数啦。
如果你学过java数组,建议用数组来存储一系列的同类的数值,去应聘软件工程师用这样的写法,很可能被刷掉。
楼上这种写法虽然满足了提问者的答题,但是不用数组来写是低效做法,不利于学好编程。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-03

这个问题是你输入的方式引起的

你代码中的interger1、interger2……应该是Scanner的实例吧?

首先说一下 Scanner 的 nextInt(); 方法是取下一个整型数字,它以空白符(空格、回车、换行、tab等)来分隔。比如你输入“111  222  333”,第一个nextInt();会返回111,第二个nextInt();会返回222……

另外你也没必要创建这么多的Scanner实例

public class Test {
    public static void main(String[] args) {

        Scanner integerScanner = new Scanner(System.in);

        System.out.print("Enter your four integers:");

        int i1 = integerScanner.nextInt();
        int i2 = integerScanner.nextInt();
        int i3 = integerScanner.nextInt();
        int i4 = integerScanner.nextInt();

        System.out.println("i1=" + i1 + ", i2=" + i2 + ", i3=" + i3 + ", i4=" + i4);

        integerScanner.close();
        
    }
}

运行效果(输入时以空格分隔数字):

Enter your four integers:123 333 222 345
i1=123, i2=333, i3=222, i4=345

本回答被提问者采纳
相似回答