| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 741 人关注过本帖
标题:小问题求教
只看楼主 加入收藏
long_557799
Rank: 1
等 级:新手上路
威 望:1
帖 子:284
专家分:0
注 册:2007-5-29
收藏
 问题点数:0 回复次数:3 
小问题求教
import *;
public class Te0 {
    static     double a,b,c;
       public static void main(String[] args)
    {       
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    try{
        String s=br.readLine();
        a=Double.parseDouble(s);
          String s1=br.readLine();               
        b=Double.parseDouble(s1);
        String s2=br.readLine();   
        c=Double.parseDouble(s2);         
    }catch(IOException e){}    
   
}
}这是部分代码。我的本意是通过输入3个数,分别使他们赋予a,b,c的值。但结果a,b,c的值都是第一个输入给a的值
即输入 1
       2
       3
最后结果a,b,c都是1.0,自己搞不懂BufferedReader,希望大侠解决下这个问题,顺便能讲讲BufferedReader的用法。
搜索更多相关主题的帖子: String Double readLine public 
2008-03-20 22:38
帅浪
Rank: 1
等 级:新手上路
威 望:1
帖 子:139
专家分:0
注 册:2007-4-4
收藏
得分:0 
回复 1# 的帖子
没有错啊!
import *;
public class Teo{
    static     double a,b,c;
       public static void main(String[] args)
    {        
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    try{
        String s=br.readLine();
        a=Double.parseDouble(s);
        System.out.println(a);
          String s1=br.readLine();
          b=Double.parseDouble(s1);
          System.out.println(b);
        String s2=br.readLine();
        c=Double.parseDouble(s2);
        System.out.println(c);        
    }catch(IOException e){}   
   
}
BufferedReader用法,我在群里以前发过这个!
public class BufferdReader extends Reader
从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。

通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,

BufferedReader in
     = new BufferedReader(new FileReader("foo.in"));
将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。

可以对使用 DataInputStream 进行按原文输入的程序进行本地化,方法是用合适的 BufferedReader 替换每个 DataInputStream。

import
import
public class BufferedReaderDemo
{
      public static void main(String[] args) throws {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("请输入一段文字,可包含空白:");
        String text = br.readLine();
        System.out.println("您输入的文字:"+text);
}
}

世上事有难易乎?为之?则难者亦易矣;不为,则易者亦难矣
2008-03-20 23:01
long_557799
Rank: 1
等 级:新手上路
威 望:1
帖 子:284
专家分:0
注 册:2007-5-29
收藏
得分:0 
谢谢上面朋友的解答
我今天在命令行界面上运行确实没错
但在Jcreator上就错了
打算换个版本试下

Are you OK?
2008-03-21 09:25
luyihuaa5201
Rank: 2
等 级:论坛游民
帖 子:254
专家分:10
注 册:2007-3-25
收藏
得分:0 
学习下~~
2008-03-21 13:33
快速回复:小问题求教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021218 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved