Java   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Java在算法题中的输入问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

Java在算法题中的输入问题

在写算法题的时候,经常因为数据的输入问题而导致卡壳,其中最常见的就是数据输入无法结束。

1.给定范围,确定输入几个数据

直接使用普通的ScAnner输入数据范围,然后使用for循环输入后续数据。

例如:

ScAnner scAnner = new ScAnner(System.in);
//输入数据的范围
int n = scAnner.nexTint();
for(int i = 0;i < n;i++){
    
    arrays[i] = scAnner.nexTint();
}

2.没有给定范围,但是给出了结束符

使用while循环,当输入结束符的时候退出循环

ScAnner scAnner = new ScAnner(System.in);
//假设使用"0"作为结束符
//无限循环,在循环中和结束符进行比较,相同则停止循环
while(true){
    String str = scAnner,nextLine();
    if(str == "0"){
        break;
    }
    //没有结束,那么对str进行处理
    
}
//判断输入的数据是否为"0",为"0"则停止循环,不为"0"则继续循环
while(!scAnner.hasNext("0")){
    String str = scAnner.nextLine();
    //对str进行处理,只要输入不为"0",就可以一直循环下去
}

3.没有给定范围,直接给定多组数据(这个最需要注意

此时不能在使用ScAnner进行输入,因为无法结束,我们需要使用(BufferedReader)字符缓冲输入流来进行输入。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while((str = br.readLine()) != null){
            //当读入数据的下一行不为空时,进行循环,这里对str进行处理
            
            
            
        }

4.ScAnner中next()和nextLine()的区别

next()输入不会包含空格以后的数据,只会输入第一个空格前的字符,nextLine()输入可以包括空格,只有遇见分隔符(例如回车)才会结束

ScAnner scAnner = new ScAnner(System.in);
String str1 = scAnner.next();//输入Hello world
String str2 = ScAnner.nextLine();//输入Hello world
System.out.println(str1);//输出Hello
System.out.println(str2);//输出Hello world

大佬总结

以上是大佬教程为你收集整理的Java在算法题中的输入问题全部内容,希望文章能够帮你解决Java在算法题中的输入问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:然后使用