姚世敏 发表于 2022-8-13 23:19:32

错误: 不兼容的类型: 从double转换到int可能会有损失

public class IfTest04
{       
        /*
        1变量、运算符和类型转换:
        1.1手动输入一个学生的成绩,对这个成绩进行一次加分,加当前成绩的20%,输出加分后成绩
        */
        public static void main(String [] args){
                java.util.Scanner s = new java.util.Scanner(System.in);
                System.out.print("输入一个学生的成绩:");
                int num   = s.nextInt();
                //num+=   num*0.2;
                num = num +num*0.2;
               System.out.println(num);

               

        }
}


//num+=   num*0.2; 就不报错
num = num +num*0.2;就报错,,,


为什么呀,大哥们

liuzhengyuan 发表于 2022-8-13 23:21:37

吧不兼容的变量强制类型转换一下就可以了

姚世敏 发表于 2022-8-13 23:26:05

liuzhengyuan 发表于 2022-8-13 23:21
吧不兼容的变量强制类型转换一下就可以了

就是转了半天不行。。
num = int(num +num*0.2);//报错
num = num +int(num*0.2);//报错

liuzhengyuan 发表于 2022-8-13 23:43:31

姚世敏 发表于 2022-8-13 23:26
就是转了半天不行。。
num = int(num +num*0.2);//报错
num = num +int(num*0.2);//报错

num = num + int(double(num) * 0.2)
试试

姚世敏 发表于 2022-8-14 21:40:48

liuzhengyuan 发表于 2022-8-13 23:43
num = num + int(double(num) * 0.2)
试试

num=num +(int)(num*0.2);
找到了谢谢
页: [1]
查看完整版本: 错误: 不兼容的类型: 从double转换到int可能会有损失