inputstreamreader:InputStreamReader是什么?

 2021-07-12 16:08    77  

InputStreamReader 是字节流通向字符流的桥梁inputstreamreader:它使用指定的charset读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符集。

每次调用 InputStreamReader 中的一个 read() 方法都会导致从基础输入流读取一个或多个字节。要启用从字节到字符的有效转换inputstreamreader,可以提前从基础流读取更多的字节,使其超过满足当前读取操作所需的字节。

为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReaderinputstreamreader。

麻烦看看这个Java程序错在哪里

  首先:t 变量没有声明:double t = 0;

然后:算法错了:

应为:

t = a;

a = b;

b = t;

给你改过的源码自己看看。

import java。io。*;

public class Ab

{

public static void main(String args[]) throws IOException

{

InputStreamReader reader = new InputStreamReader(System。
  in);

BufferedReader input = new BufferedReader(reader);

System。out。println("请输入a值");

String s=input。readLine();

double a=Double。
  parseDouble(s);

System。out。println("请输入b值");

s=input。readLine();

double b=Double。parseDouble(s);

double t = 0;

System。
  out。println("交换前a="+a+",b="+b);

t = a;

a = b;

b = t;

System。out。println("交换后a="+a+",b="+b);

}

}。

没有声明t的值

加上:double t=0;

还有介意你写程序多看看规范,不然程序要是大了,以后自己看起来都头疼

好比我们现在一写就是好几十万的代码,测试的时候要是代码比较乱的话,看起来就很头疼,记得多注释,这样看起来很方便

a

b

其实是指针。

你的 t 好像没有声明啊?

(还有吗?看不到了!嘀嗒嘀嗒时间过去了,还是没找出来错……)

这好象不是你的源代码啊~~~

怎么这么乱~~~~~

有些看不懂`1!!!!!!!

谁能给我讲讲这段程序为什么输出这个?

BufferedReader stdin = new BufferedReader( //定义一个BufferedReader对象

new InputStreamReader(System.in)); //从键盘输入字符

System.out.print("Enter a line:"); //输出“Enter a line:”但是不换行

System.out.println(stdin.readLine()); //输出你刚才从键盘输入的字符

所以“est”是你输入的字符

est是你输入的,程序执行时会显示“Enter a line:”等待提示用户输入一串字符

请问一个关于JAVA的小问题

  1。这里的*表示了导入 包里封装的所有类,在后面程序中要用到io包里面的类

2。这是声明了一个读操作的缓冲器的对象keyboard,new一般指开辟一块内存空间给对象

3。BufferedReader(new InputStreamReader( ))是BufferedReader构造方法的使用,在构造BufferedReader时,要给它付上一个Reader类型的参数,所以该句建立了一个InputStreamReader,而构造InputStreamReader,又需要付一个InputStream型的参数,所以里面付了

4。
  其实如果参数不在其他类里面调用,在main()里面声明也是可以的,但是根据java的思想,参数即是一个类的属性,方法(函数)是类的一种行为,main()是方法,方法里面放属性,这个很不合规矩,而且多数情况参数要在别的类里面使用,放在方法里别的类就不能调用了。
  加了final,则后面的程序对该参数不能修改或负值

5。(String[] args)是命令行参数,必须要有,在程序中可以使用args,比如说你编译好的文件名字叫 ass,运行的时候你输入的是java ass abc 那么args[0]="abc";若输入的是java ass a b c那么args[0]="a"; args[1]="b" ;args[2]="c";当然你完全可以不给命令行参数负值

6。
  很多地方都需要抛出异常,如果不抛出就要捕捉,即"try", "catch"这么说吧,假如你用了一个IO包中的类,InputStreamReader("1。txt"),你的程序编写完全正确,但你的1。txt文件找不到,或根本就不存在,怎么办?这个错算谁的?抛出异常就为你解决了这个问题,抛出异常是对这种错误不做处理,不理睬,捕获就是捕捉程序中的异常,并做相应的反映,相当与判断语句,没错就继续,有错就执行一段自己编写的代码。
  很多地方你不写异常处理,其实系统也会帮你做,就象你用 ng包里面的类,你不用去写import ng。*一样

朋友你对java的基础知识好像还欠缺很多,建议先仔细看看java编程基础,我写的可能你仍有看不懂的地方,不过你可以发email给我,

zzpgreat@ ,欢迎交流


  

本文标签:一个关于请问

原文链接:https://www.xgfox.com/jsyd/803.html

本文版权:如无特别标注,本站文章均为原创。