Ecin
2017-01-23 17:36
public static void main(String[] args) {
String[] a = { "论语","三字经"};
System.out.println("欢迎使用啪啪啪借阅系统:");
int n =0;
while(n==0){
try{
System.out.println("1.按书名借阅书籍 2.按序号借阅书籍");
//在控制台输入数字命令 ,这里可能出现异常
Scanner input = new Scanner(System.in);
int number = input.nextInt();
//如果控制台输入数字1
if(number==1){
//遍历数组,输出a[i]中的元素:各个书籍
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
System.out.println("请输入您要借阅书籍的名称:");
//在控制台输入字符串
Scanner input2 =new Scanner(System.in);
String name = input2.nextLine();
//对控制台输入的字符串进行 判断
if(name.equals(a[0])){
System.out.println("您要借阅的书籍为:"+a[0]);
}else if(name.equals(a[1])){
System.out.println("您要借阅的书籍为:"+a[1]);
}else{
System.out.println("您输入的书籍不存在");
}
}
//当控制台输入2 (用序号选择书籍时)
else{
//为了方便就没有遍历了
System.out.println("1.论语 2.三字经 "+"请输入序号:");
Scanner input3 = new Scanner(System.in);
int number2 = input3.nextInt();
//对控制台输入的序号进行判断,这里可能出现异常
if(number2==1){
System.out.println("您要借阅的书籍为:"+a[0]);
}else if(number2==2){
System.out.println("您要借阅的书籍为:"+a[1]);
}else{
System.out.println("请输入已提示的数字序号");
}
}
n = 1;
//开始捕获可能出现的异常
}catch(InputMismatchException e){
System.out.println("命令输入错误,请根据提示输入数字命令");
n=0;
}catch(Exception e){
System.out.println("Exception系统未知故障");
n=0;
}finally{
System.out.println("啪啪啪");
n=0;
}
} }
您好啊同学,我刚才看了您写的代码,总的来说还是很好的.当然了,您的这个问题我以前也遇到过当时就没有去管他.
刚才我看了一会代码,给你想了一个简单粗暴一点的方法,就是再"请输入您的balabala"那儿的前面加上\n
就可以实现自动转行了.但是这个方法治标不治本,如图所示,在前面多了一行空格.你也可以试一试自己的方法,用这个原理把那行空格给弄走.另外\n的意思就是把光标转到下一行的意思.是在字符串中使用的,与此类似的还有\t和\r等.我这种属于是利用脑洞把问题解决的了蛤蛤蛤 ,另外如果有兴趣一起学习的话,1114196607这是我的QQ
如图所示:论语俩字把程序输出的“论语” 覆盖掉了变绿了,本应该是在最后一排输出的,,,
我是个初学者,作业能写出来都对自己感觉不错了;如有前辈能不介意帮帮我,表示十分感谢!!!
我的问题是:当控制台里提示:论语、三字经时;让用户输入字符时,光标不会自动转行,而是把程序中的汉字覆盖了,然后就没有然后。。。
必须 自己把光标放在最下面才可以
Java入门第三季
409792 学习 · 4340 问题
相似问题
回答 3
回答 1