import java.io.*;
import java.util.*;
public class St { /**
* @param args
*/
ArrayList al;
St(){
al= new ArrayList();
}
void add(String s){
al.add(s);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入学生编号的个数");
int num=br.read()-48;
String[] s = new String[100];
for(int i=0;i<num;i++)
{
System.out.println("第"+(i+1)+"个学生的编号");
if(br.readLine()=="") br.readLine(); //就是这里,,
s[i] = br.readLine();
System.out.println(s[i]);
}
}catch(IOException e){e.printStackTrace();}
}}按Enter后 readLine()会接受一个"", 明显不是我想要的,怎么消除?
import java.util.*;
public class St { /**
* @param args
*/
ArrayList al;
St(){
al= new ArrayList();
}
void add(String s){
al.add(s);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入学生编号的个数");
int num=br.read()-48;
String[] s = new String[100];
for(int i=0;i<num;i++)
{
System.out.println("第"+(i+1)+"个学生的编号");
if(br.readLine()=="") br.readLine(); //就是这里,,
s[i] = br.readLine();
System.out.println(s[i]);
}
}catch(IOException e){e.printStackTrace();}
}}按Enter后 readLine()会接受一个"", 明显不是我想要的,怎么消除?
解决方案 »
- 如何编写java代码,来实现调用java.exe并执行.class文件?
- 想让CheckBox在被选中和取消选中时候,产生不同的动作,应该怎么写??
- 急求 JSP 显示数据库信息页面的解决
- 这句怎么翻译?
- netbeans打开后就自己关闭了~~,大概是因为一次非正常关闭!可是重装后怎么还是不行呀,help~~
- 二维数组排序
- 散点分,顺便问一下哪位有JavaScript的使用帮助资料<主要是里面的各种对象及方法属性的使用>
- 欢迎大家讨论:程序员30岁之后该怎么发展?
- javamail附件中文名的奇怪问题(不是iso8859 -> gb2312那么简单哦)!!
- 可变参数 的一个问题
- web start 问题
- 反射问题--请各位高手帮帮我,谢谢.
if((str = br.readLine())!=null)
s[i] = str ;
System.out.println(str );
String str = br.readLine();
if(str != null)
s[i] = str ;
System.out.println(str );
for(int i=0;i <num;i++)
{
System.out.println("第"+(i+1)+"个学生的编号");
String temp=br.readLine();
while(temp!=null)
if(temp=="") temp=br.readLine();
else break;
s[i] = temp;
System.out.println(s[i]);}
}catch(IOException e){e.printStackTrace();}
}
String str = br.readLine();
if(str != null && 0 != str.length())
s[i] = str ;
System.out.println(str );
String str = br.readLine();
if(str != null && 0 != str.length())
s[i] = str ;
System.out.println(str );
在这段代码前可能要加个
br.flush();
以清除键盘输入的多余符号(换行符)
BufferedReader 类有flush方法吗?显然没有
package zhao;import java.io.*;
import java.util.*;
public class St { /**
* @param args
*/
ArrayList al;
St(){
al= new ArrayList();
}
void add(String s){ al.add(s);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("请输入学生编号的个数");
int num=br.read()-48; //这里,你读取一次之后,光标已经是在第二个字符前面了,这样你再读取br.readLine()的时候是读取的是从第2个字符开始!String[] s = new String[100];
for(int i=0;i <num;i++)
{
System.out.println("第"+(i+1)+"个学生的编号"); String str = null;
if((str = br.readLine())!=null)
s[i] = str ;
System.out.println(str );}
}catch(IOException e){e.printStackTrace();}
} }
用这个吧
in.flush()
应该可以吧