Java 字符串整型变量澄清
我已收到以下错误消息Java 字符串整型变量澄清,java,string,class,int,type-conversion,Java,String,Class,Int,Type Conversion,我已收到以下错误消息 G:\CIS260\Assignments>javac PhoneNumber.java PhoneNumber.java:45: error: incompatible types number = decode(c); ^ required: int found: String 1 error 在开始上课的时候,我 char c; private int number = 0 这使它成
G:\CIS260\Assignments>javac PhoneNumber.java
PhoneNumber.java:45: error: incompatible types
number = decode(c);
^
required: int
found: String
1 error
在开始上课的时候,我
char c;
private int number = 0
这使它成为一个int,所以我知道为了下一行编译,我必须有两个相同的数据类型。我的理解是
str[1].valueOf(number);
number = decode(c);
public static String decode(char c){
switch (c) {
应将变量编号设置为字符串,使解码和编号的数据类型相等,因为它们都是字符串
我觉得我可能忘记了一个步骤,以使这两个字符串的数据类型。有什么想法吗?是的,您将数字声明为整数
所以您应该使用Integer.ParseInt强制转换它。是的,您将数字声明为整数
因此,您应该使用Integer.ParseInt来强制转换它。您有一个方法
public static String decode(char c)
,它返回一个字符串的值
,但是变量number
接受声明为整数的值字符串
尝试使用Integer
的返回类型,如public static int decode(char c)
您有public static String decode(char c)
方法,该方法返回值String
,但变量number
接受声明为整数的值String
尝试使用整数
的返回类型,如公共静态整数解码(charc)
您的方法返回一个字符串
您正试图将返回的字符串存储在int
中
Java不会像这样自动将字符串转换为整数。您必须显式地进行转换。您可以为此使用:
int number = Integer.parseInt(decode(c));
请注意,如果返回的字符串实际上不是有效的整数,将抛出NumberFormatException
。您的方法将返回字符串
您正试图将返回的字符串存储在int
中
Java不会像这样自动将字符串转换为整数。您必须显式地进行转换。您可以为此使用:
int number = Integer.parseInt(decode(c));
请注意,如果返回的字符串实际上不是有效的整数,则将抛出NumberFormatException
。char c=0//未声明和初始化
number=Integer.parseInt(解码(c)) charc=0//未声明和初始化
number=Integer.parseInt(解码(c)) 这里的c是什么。也发布c声明。此处可能存在c的副本。c的后期声明。可能重复的学究:你的意思是“转换”,而不是“铸造”。学究:你的意思是“转换”,而不是“铸造”。