遥夕夕


私信TA

用户名:2001LinJunYi

访问量:489

签 名:

等  级
排  名 11363
经  验 980
参赛次数 0
文章发表 13
年  龄 0
在职情况 学生
学  校 广东海洋大学
专  业

  自我简介:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        for(int i=1;i<=n+1;i++){
            String s=sc.nextLine();
            if(i==1)
                continue;
            System.out.println(s+"\n");
        }
        while(sc.hasNext()) {//是否有输入
            System.out.println(sc.next()+"\n");
        }
    }
}

问题1:

    next():

        1.停止录入的结束符有空格、Tab键和回车键(录入内容不含结束标志)


        2.next()对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。所以next()不能得到带空格的字符串,而nextLine()是遇到回车键才结束,所以可以得到带空格的字符串。


    nextline():停止录入的结束标志只有回车键。

————————————————


问题2:关于nextInt后面如果有nextLine,nextLine获取不到值的问题?


答:nextInt()会遗留下来一个回车,而nextLine()获取的是第一个回车前的数据,所以首先会得到一个""的字符。


这个问题产生的原因,程序在通过nextint方法读取数字后,会留下一个enter键,这个enter键,会被第一个执行nextLine方法接收,这就导致我们读取的数据少一行

————————————————



 

0.0分

5 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

這個結果不對吧,一個一個輸入的話,會立馬輸出,一起輸入則  後面的循環無效,但很奇怪爲什麽編譯正確
2022-12-27 19:21:10
  • «
  • 1
  • »