读书人

这个到底错在哪呢?解决思路

发布时间: 2012-03-09 16:54:57 作者: rapoo

这个到底错在哪呢?
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class e {
public static void main(String args[]){
try{
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=BufferedReader(isr);

//给出提示
System.out.println("请输入一个数");
//从控制台读取一行数据
int a=br.read();

}catch(Exception e)
{
e.printStackTrace();

}
for (int i=0;i<a;i++)
{
System.out.println("你好,世界");
}
}
}


我想从键盘上输入一个数值,然后传递给FOR循环 再输出。。。我不知道错在哪了



[解决办法]
有3个错误:
1) BufferedReader br=BufferedReader(isr); 改成
BufferedReader br= new BufferedReader(isr);

2) for(...){}放到try{}内部去,否则整数a都可能未被定义

3)int a=br.read();这里获得的是输入的数字的内码,而不是数字本身,比如改成
int a=br.read()-0x30;才会是你想要的结果

Java code
import java.io.BufferedReader;import java.io.InputStreamReader;public class e {    public static void main(String args[]){        try{            InputStreamReader isr=new InputStreamReader(System.in);            BufferedReader br= new BufferedReader(isr);            //给出提示            System.out.println("请输入一个数");            //从控制台读取一行数据            int a=br.read()-0x30;            for (int i=0;i<a;i++)            {                System.out.println("你好,世界");            }        }catch(Exception e)        {            e.printStackTrace();        }    }} 

读书人网 >Java相关

热点推荐