自动类型转换
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)
不是有问题,是把字符串拼接用错了{: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); 巴巴鲁 发表于 2021-2-22 19:42
不是有问题,是把字符串拼接用错了
少了一个+号
还有float f = 234;时,最好把赋值后面加个f, ...
【捂脸】好dei!!!谢谢大佬~ 丸子酱ovo 发表于 2021-2-23 08:55
【捂脸】好dei!!!谢谢大佬~
给个最佳就行{:10_256:}
继续努力啊 巴巴鲁 发表于 2021-2-23 10:04
给个最佳就行
继续努力啊
哈哈哈,你这个最佳等的时间有点久呀!
{:5_97:}
页:
[1]