Java(四)输出和输入函数 您所在的位置:网站首页 java怎么输出字符串 Java(四)输出和输入函数

Java(四)输出和输入函数

2023-12-26 19:49| 来源: 网络整理| 查看: 265

在java中,next()方法是不接收空格的,在接收到有效数据前,所有的空格或者tab键等输入被忽略,若有有效数据,则遇到这些键退出。nextLine()可以接收空格或者tab键,其输入应该以enter键结束。

 

 

 

在学习Java的输入时,有个有趣的发现,感兴趣的朋友可以往下看。

Java版的getchar()函数:(char)System.in.read()

  当时想的是,既然输出用的是out对象,那么必然有个in对象的方法能完成输入的功能。于是就发现了System.in.read()这个东东,它实现的功能是:从键盘读一个字符。好嘛^_^,那么就输下这个东东

System.out.println(System.in.read());

运行结果:

结果很意外,输入5,输出53 13 10;输入a,输出97 13 10;什么也不输直接回车,输出13 10。即输出了输入字符、回车控制字符和换行控制字符的ASCLL码!!

不,我不要ASCLL码数字,我要字符型!那么就强转一下吧。改下代码:

System.out.println((char)System.in.read());

果然如愿输出了字符型,而且回车控制字符和换行控制字符都不见了!而且经测试,结果完全符合算法题中的输入的要求,即在Java中实现了类似C++中的getchar()函数:(char)System.in.read()

 

再进一步思考,加个while(true)能否用字符数组形式输出字符串呢?

代码如下:

import java.io.IOException; public class dd { public static void main(String[] args) throws IOException { while(true){ System.out.print((char)System.in.read()); } } }

运行结果:

成功得到了字符串是不是?

 

实际并没有。。

这个方法有极大的缺陷:

System.out.println((char)System.in.read());

实际就相当于:

InputStream a=System.in; char ch=(char)a.read(); System.out.print(ch);

果然还是没有摆脱缓冲区的束缚,把刚才输出字符串的代码的while(true)换成for循环:

import java.io.IOException; public class dd { public static void main(String[] args) throws IOException { //while(true){ for(int i=0;i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有