由于身高和体重输入范围设定?

由于身高和体重输入范围设定?

由于身高和体重是有一定范围的,请问怎样给scanner所输入的变量值设定一个范围,超出范围发出警告不允许提示重新输入?

正在回答

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

1回答

同学你好,同学可以尝试书写一个循环,判断输入的值,如果条件符合就跳出循环,继续执行,否则重新接收数据,例如:

	Scanner sc=new Scanner(System.in);
		System.out.println("请输入数据");
		while(true) {
			int a = sc.nextInt();
			if(a>80&&a<100) {
				System.out.println("符合条件,继续执行");
				break;
			}else {
				System.out.println("不符合条件,请重新输入");
				continue;
			}
		}

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 慕粉0438004 提问者 #1
    这样输入的话,无法将a的值在while循环外面使用了。因为while循环后要使用输入的体重/(身高*身高)来判断健康状况,怎样将while循环内输入的身高体重在循环外可以引用呢?
    2020-04-17 23:08:08
  • 慕粉0438004 提问者 #2
    Scanner sc=new Scanner(System.in); System.out.print("请输入您的体重(单位:kg):"); while(true) { double weight= sc.nextDouble(); if(weight>30&&weight<200) { System.out.println("符合条件,继续执行"); break; }else { System.out.println("不符合条件,请重新输入"); continue; } } System.out.print("请输入您的身高(单位:米):"); while(true) { double length=sc.nextDouble(); if(length>1&&length<3) { System.out.println("符合条件,继续执行"); break; }else { System.out.println("不符合条件,请重新输入"); continue; } } double BMI=weight/(length*length);//此处会进行报错,无法
    2020-04-17 23:10:14
  • 好帮手慕阿莹 回复 提问者 慕粉0438004 #3
    同学你好,你可以把weight 和 length分别在循环外边定义,在循环里边赋值 用wigth举例:例如: double weight=0.0; while(true) { weight= sc.nextDouble(); if(weight>30&&weight<200) { System.out.println("符合条件,继续执行"); break; }else { System.out.println("不符合条件,请重新输入"); continue; } } System.out.print("请输入您的身高(单位:米):"); 如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2020-04-18 13:43:47
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
零基础Java入门体验课
  • 参与学习           人
  • 提交作业       437    份
  • 解答问题       393    个

慕课网首推Java体验课,用体系化的学习方式+实战性的项目练习,带你轻松入门Java~

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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