【总结】关于Java中从键盘读入各种数据的方式

Part 1

最近在刷一些算法题,里面涉及到了不同形式的数据从键盘进行输入。而java对于键盘输入真心不太方便。于是我把遇到的一些输入形式总结成博文,一方面让大家能参考、交流;另一方面也方便自己查看。

总结的类型并不全面,之后遇到会再加上、更新。

部分代码参考了一些博主的代码,但是出处暂时找不到了,如果有博主看到,可以联系我,我会注明出处的,谢谢。

Part 2

以下根据各种不同的情况来编写。

1)输入不确定个数的数字,每个数字占一行,然后键盘上按回车结束输入。最后把数字放入一个数组中,根据要求进行之后的操作。

public class Case_1 {

    public static void main(String[] args) {

        Integer[] b;
        int m = 0;

        Scanner scanner = new Scanner(System.in);  
        ArrayList<Integer> ns = new ArrayList<>();  
        do {  
            String string = scanner.nextLine();  
            if (string.equals("")) {  
            break;  
            }  
            ns.add(Integer.valueOf(string));  
        } while (true);  


        b = (Integer[])ns.toArray(new Integer[0]);  
        m = ns.size();
        // 用输出所有数字的方式去验证是否成功。
        for(int i = 0;i < m;i ++)
        {
            System.out.println(b[i]);
        }
    }
}

2)输入不确定个数的数组,数与数之间用空格隔开。最后把数字放入一个数组中,根据要求进行之后的操作。

public class Case_1 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        String[] numList = str.split("\\s");

        int a[] = new int[numList.length];

        for(int i = 0; i<numList.length;i++)
        {
            a[i] = Integer.parseInt(numList[i]);
        }
        // 用输出所有数字的方式去验证是否成功。
        for(int i = 0; i<numList.length;i++)
        {
            System.out.print(a[i]+" ");
        }
    }
}

以上是不定长的情况,定长的情况或者开头能输入固定长度的就不叙述了。之后遇到新的情况再补充。如有错误,欢迎指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值