丸子酱ovo 发表于 2021-2-22 18:27:09

自动类型转换

package come.inspur.ch2;

public class TypeTransferDemo01 {
        /**
       * 自动类型转换实例   自动类型转换规则
       * @param args
       */

        public static void main(String[] args) {
                // TODO 自动生成的方法存根
                byte b=127;
                int num=789;
                float f = 234;
                double d = 45;
                System.out.println("byte类型数据和int类型数据相乘:"+(b*num)",结果的数据类型为:"
                +getType( (b*num)));                                                                                                                                        //这一行有问题
                System.out.println("byte类型数据和float类型数据相乘:"+(b*f)",结果的数据类型为:"
                +getType( (b*f)));                                                                //这一行有问题
                System.out.println("int类型数据和double类型数据相乘:"+(d*num)",结果的数据类型为:"
                +getType( (d*num)));             //这一行有问题
               

        }
/**
* 声明公用方法返回参数的数据类型
* @param o
* @return
*/
        public static String getType(Object o) {
                return o.getClass().toString();
               
        }
}


应该怎么改呢




Exception in thread "main" java.lang.Error: 无法解析的编译问题:
        标记“Invalid Character”上有语法错误,删除此标记
        未对参数类型 int, String 定义运算符 *
        标记“)”上有语法错误,应为 *
        标记“Invalid Character”上有语法错误,删除此标记
        未对参数类型 float, String 定义运算符 *
        标记“)”上有语法错误,应为 *
        标记“Invalid Character”上有语法错误,删除此标记
        未对参数类型 double, String 定义运算符 *
        标记“)”上有语法错误,应为 *

        at come.inspur.ch2.TypeTransferDemo01.main(TypeTransferDemo01.java:15)

巴巴鲁 发表于 2021-2-22 19:42:34

不是有问题,是把字符串拼接用错了{:10_285:}
少了一个+号
还有float f = 234;时,最好把赋值后面加个f,你这是整数没事,一但赋值为小数,会报错
System.out.println("byte类型数据和int类型数据相乘:"+(b*num) + ",结果的数据类型为:"
      +getType( (b*num)));                                                                                                                                        //这一行有问题
      System.out.println("byte类型数据和float类型数据相乘:"+(b*f) + ",结果的数据类型为:"
      +getType( (b*f)));                                                                //这一行有问题
      System.out.println("int类型数据和double类型数据相乘:"+(d*num) + ",结果的数据类型为:"
      +getType( (d*num)));             //这一行有问题
      System.out.println(f);

丸子酱ovo 发表于 2021-2-23 08:55:25

巴巴鲁 发表于 2021-2-22 19:42
不是有问题,是把字符串拼接用错了
少了一个+号
还有float f = 234;时,最好把赋值后面加个f, ...

【捂脸】好dei!!!谢谢大佬~

巴巴鲁 发表于 2021-2-23 10:04:20

丸子酱ovo 发表于 2021-2-23 08:55
【捂脸】好dei!!!谢谢大佬~

给个最佳就行{:10_256:}
继续努力啊

连帅帅 发表于 2021-3-4 16:35:31

巴巴鲁 发表于 2021-2-23 10:04
给个最佳就行
继续努力啊

哈哈哈,你这个最佳等的时间有点久呀!
{:5_97:}
页: [1]
查看完整版本: 自动类型转换