怎么解释这段java代码的输出?
发布网友
发布时间:2022-06-08 16:43
我来回答
共4个回答
热心网友
时间:2024-12-02 03:46
我也是初学者,简单回答你吧,希望有帮助。
从上往下分析:
首先声明一个string对象:personName(但是没有new出来,因为不能直接操作new出来的string对象)
然后空的构造方法public hello(){}
定义一个读取名字的方法:public void readname()
方法中通过接收输入的每个字符来赋给personName变量,最后输出hello, Mr.+输入的姓名
main函数中声明类对象,调用readname()方法
附问题:
1,你输入Michael Scofield时,一直在while循环中,一个一个字符接收赋给personname的。所以最后输出的personname并不只是首字母。
2,应该是当你输入字符后,回车确定时相当于输入“\n”,到末尾相当于-1,这时候ok=true,终止while循环
热心网友
时间:2024-12-02 03:46
1.while循环对你输入的数据进行遍历
2.如果最后一个字符是换行,表示到了你输入字符串的结尾,修改标识变量ok,结束循环
热心网友
时间:2024-12-02 03:46
ch=System.in.read();
放在了循环里,就会依次读取字符,
"if(ch<0||(char)ch=='\n') ok=true;"
如果没有字符会返回-1 说明到了末尾 就将标志OK设为true结束循环
热心网友
时间:2024-12-02 03:47
1.捕获第一个字母代码 改成
if((char)ch!='\r')
{ personName=personName+(char)ch;
personName = personName + (char) ch;
System.out.println("hello, Mr." + personName);
break;}
2.这就是判断是否输入为空或者已结束,这是在一个循环里的
————又不明白的再问我