为了账号安全,请及时绑定邮箱和手机立即绑定

关于控制台中输入字符,会把程序输出的字符覆盖!!怎么办?看代码

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;

}    

 }     }


正在回答

2 回答

http://img1.sycdn.imooc.com//5885ee3d0001d45719201048.jpg

您好啊同学,我刚才看了您写的代码,总的来说还是很好的.当然了,您的这个问题我以前也遇到过当时就没有去管他.

刚才我看了一会代码,给你想了一个简单粗暴一点的方法,就是再"请输入您的balabala"那儿的前面加上\n

就可以实现自动转行了.但是这个方法治标不治本,如图所示,在前面多了一行空格.你也可以试一试自己的方法,用这个原理把那行空格给弄走.另外\n的意思就是把光标转到下一行的意思.是在字符串中使用的,与此类似的还有\t和\r等.我这种属于是利用脑洞把问题解决的了蛤蛤蛤 ,另外如果有兴趣一起学习的话,1114196607这是我的QQ

1 回复 有任何疑惑可以回复我~
#1

Ecin 提问者

谢谢啦,好友已发~~~问题好认真啊,,哈哈
2017-01-23 回复 有任何疑惑可以回复我~
#2

Ecin 提问者

Thanks!鞠躬致谢^ _
2017-01-23 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5885d72b00011d9803010234.jpg

如图所示:论语俩字把程序输出的“论语” 覆盖掉了变绿了,本应该是在最后一排输出的,,,

1 回复 有任何疑惑可以回复我~

我是个初学者,作业能写出来都对自己感觉不错了;如有前辈能不介意帮帮我,表示十分感谢!!!

我的问题是:当控制台里提示:论语、三字经时;让用户输入字符时,光标不会自动转行,而是把程序中的汉字覆盖了,然后就没有然后。。。

必须 自己把光标放在最下面才可以

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于控制台中输入字符,会把程序输出的字符覆盖!!怎么办?看代码

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信