【问题标题】:String int variable clarificationString int 变量说明
【发布时间】:2014-04-01 05:11:40
【问题描述】:

我收到以下错误信息

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) {

应该使变量 NUMBER 成为字符串,从而使解码和数字成为相等的数据类型,因为它们都是字符串。

我觉得我可能忘记了创建这两种字符串数据类型的步骤。有什么想法吗?

【问题讨论】:

标签: java string class int type-conversion


【解决方案1】:

字符 c = 0; //没有声明和初始化

number = Integer.parseInt(decode(c));

【讨论】:

    【解决方案2】:

    是的,您将数字声明为整数。

    所以你应该使用 Integer.ParseInt 来转换它。

    【讨论】:

    • 迂腐:您的意思是“转换”,而不是“转换”。
    【解决方案3】:

    您有方法public static String decode(char c),它返回值String,但变量number 接受值String,它被声明为Integer

    尝试使用Integer 的返回类型,例如public static int decode(char c)

    【讨论】:

      【解决方案4】:

      你的方法返回一个String

      您正在尝试将返回的字符串存储在 int 中。

      Java 不会像这样自动将字符串转换为整数。您必须明确地进行转换。您可以为此使用Integer.parseInt

      int number = Integer.parseInt(decode(c));
      

      请注意,如果返回的字符串实际上不是有效整数,则会抛出 NumberFormatException

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-15
        • 2011-01-07
        • 2016-05-23
        • 1970-01-01
        相关资源
        最近更新 更多