怎么判断是否输入回车键

怎么判断是否输入回车键

import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("请输入一个半径R(按回车退出程序)");
            double a = scanner.nextDouble();
            String b = Double.toString(a);
            if (b.length()==0) {
                System.out.println("程序结束!");
                System.exit(0);
            }else {
                Double c = Double.valueOf(b);
                System.out.println("面积为"+Math.pow(c,2)*3.14);
            }



        }
    }
}

麻烦帮我解决一下,要求是直接按下回车键,程序直接结束,为什么不能像我上面那样判断


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你可以试试如下代码是否是你想要的结果。

public class test {

	public static void main(String[] args) throws IOException {
		
		 String str = "";
		  do {
			  System.out.println("请输入一个半径R(按回车退出程序)");
			  BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); 
		   str = bf.readLine();
		   if (str.length() == 0) { // 如果输入的字符串为空,则说明只输入了一个回车
		    System.out.println("输入的是回车!");
		   } else {
			   Double c = Double.valueOf(str);
               System.out.println("面积为"+Math.pow(c,2)*3.14);
		   }
		  } while (str.length() != 0);	
		  
}
}


Tender10 2018-03-28 12:00:45

你可以尝试如下方式判断是否输入回车键

String str ;
while((str = scanner.nextLine())!=null) {
       System.out.println("我按了回车键");
}


  • 提问者 飞一样的感觉 #1
    不行的,因为输入是double类型的,如果把这个条件用到if里面的话 上面的转换操作就失效了,自然下面的str也不行了
    2018-03-28 12:16:13
  • Tender10 回复 提问者 飞一样的感觉 #2
    你现在的想法是,当直接输入回车键的时候程序就退出,如果是先输入的数字,再输入回车键就不会推出程序。还是说只要检测到回车键程序就退出。
    2018-03-28 13:47:32
  • 提问者 飞一样的感觉 回复 Tender10 #3
    先输入数据,然后进行计算,再输入数据,再进行计算,当只输入回车时,直接退出程序
    2018-03-28 15:28:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师