Romanticism1999 2022-04-25 06:14 采纳率: 100%
浏览 73
已结题

if- else if问题

if-else if问题

import java.util.Scanner;
class test2{
public static void main(String[] args){
System.out.println("请输入您爱宠的年龄:");
Scanner sc1 =new Scanner(System.in);
int dogAge = sc1.nextInt();
if(dogAge > 0 && dogAge <= 2);{
double realAge = 10.5 * dogAge;
System.out.println("狗狗的实际年龄"+realAge);}
else if(dogAge > 2);{
double realAge = 10.5 * 2 + (4 * (dogAge - 2));
System.out.println("狗狗的实际年龄"+realAge);}
else if(dogAge > 30 || dogAge < 0);{
System.out.println("您输入的年龄有误");}

}

}
这里编译不通过,提示说else用法有误.

  • 写回答

4条回答 默认 最新

  • 程序喵正在路上 后端领域新星创作者 2022-04-25 07:50
    关注
    import java.util.Scanner;
    public class test2 {
        public static void main(String[] args) {
            System.out.println("请输入您爱宠的年龄:");
            Scanner sc1 = new Scanner(System.in);
            int dogAge = sc1.nextInt();
    
            if (dogAge > 0 && dogAge <= 2) {
                double realAge = 10.5 * dogAge;
                System.out.println("狗狗的实际年龄" + realAge);
            } else if (dogAge > 2 && dogAge <= 30) {
                double realAge = 10.5 * 2 + (4 * (dogAge - 2));
                System.out.println("狗狗的实际年龄" + realAge);
            } else if (dogAge > 30 || dogAge < 0) {
                System.out.println("您输入的年龄有误");
            }
        }
    }
    

    错误:
    1、if 和 else if 判断条件的括号()和后面的中括号 {} 之间不能有分号;
    2、第 3 个判断语句的前半部分 dogAge > 30 是一直是 false 的,因为第 2个判断语句 dogAge > 2 已经包括了 dogAge > 30,我将条件改进了一下,这样,第 2else if 的判断内容就有点多余了,去掉后换成 else 反而更简洁,如下

    import java.util.Scanner;
    public class test2 {
        public static void main(String[] args) {
            System.out.println("请输入您爱宠的年龄:");
            Scanner sc1 = new Scanner(System.in);
            int dogAge = sc1.nextInt();
    
            if (dogAge > 0 && dogAge <= 2) {
                double realAge = 10.5 * dogAge;
                System.out.println("狗狗的实际年龄" + realAge);
            } else if (dogAge > 2 && dogAge <= 30) {
                double realAge = 10.5 * 2 + (4 * (dogAge - 2));
                System.out.println("狗狗的实际年龄" + realAge);
            } else {
                System.out.println("您输入的年龄有误");
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月3日
  • 已采纳回答 4月25日
  • 创建了问题 4月25日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化