我的代码String和int有问题

时间:2018-03-24 11:44:35

标签: java

我无法解释我想要做的事情。但我想代码会给出意图。

我遇到了麻烦,我试图打印String dasipirktiPakuociu,但需要int

package com.company;

public class Main {

    public static void main(String[] args) {
        int dasipirktiPakuociu = skaiciuokle(300);
        parodykArReikiaDarPirkti("Vištienos",300, dasipirktiPakuociu);

        dasipirktiPakuociu = skaiciuokle(151);
        parodykArReikiaDarPirkti("Kalakutienos",151, dasipirktiPakuociu);

        dasipirktiPakuociu = skaiciuokle(120);
        parodykArReikiaDarPirkti("Vištienos",120, dasipirktiPakuociu);

        dasipirktiPakuociu = skaiciuokle(-1);
        parodykArReikiaDarPirkti("Kalakutienos",-1, dasipirktiPakuociu);
    }

    public static void parodykArReikiaDarPirkti(String maistoRusys,int svorisEsamas, int kiekis) {
        System.out.println(maistoRusys + " yra " + svorisEsamas + " g., reikės dapirkti " + kiekis + " pakuotę" );
    }

    public static String skaiciuokle (int svorisEsamas) {
        if(svorisEsamas >= 300) {
            return "as";
        } else if (300 > svorisEsamas && svorisEsamas >= 150) {
            return "s";
        } else if (150 > svorisEsamas && svorisEsamas >= 0) {
            return "d";
        } else if (svorisEsamas < 0) {
            return "a";
        }
        return "Empty";
    }
}

2 个答案:

答案 0 :(得分:0)

这样做

int dasipirktiPakuociu = skaiciuokle(300);

您要将方法的返回值String分配给intint只能包含整数 - 当您为"as"指定类似内容时,您期望会发生什么?

将方法的返回值更改为int或将变量更改为String

答案 1 :(得分:-1)

我不确定你要做什么,但在你的skaiciuokle函数中,使用变量而不是返回一个字符串,在结尾放一个else,然后返回变量。所以看起来应该是这样的:

  public static String skaiciuokle (int svorisEsamas) {
String s = "";
if(svorisEsamas >= 300) {
    s = "as";
} else if (300 > svorisEsamas && svorisEsamas >= 150) {
    s = "s";
} else if (150 > svorisEsamas && svorisEsamas >= 0) {
    s = "d";
} else if (svorisEsamas < 0) {
    s = "a";
} else {
s = "Empty";
}
return s;
}