这个到底错在哪呢?
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();
}
}
}