如何编写适当的else if语句?

时间:2019-01-24 04:32:51

标签: java if-statement

我正在尝试编写一种方法,该方法可以找到三个数字中最小的一个。我认为我的代码中的“ else if”语句有问题。它不断告诉我“变量d可能尚未初始化”。但我确实将其初始化。也许我写的“ else if”陈述是错误的。

public class Solution {
    public static int min(int a, int b, int c) {
        int d;
        if ((a <= b) && (b <= c))
            d = a;
        else if ((a >= b) && (b >= c))
            d = c;

        return d;
    }

    public static void main(String[] args) throws Exception {
        System.out.println(min(1, 2, 3));
        System.out.println(min(-1, -2, -3));
        System.out.println(min(3, 5, 3));
        System.out.println(min(5, 5, 10));
    }
}

4 个答案:

答案 0 :(得分:1)

尝试一下

<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">MY_API_KEY</string>

发生错误是因为
int d;声明它而不初始化它。

答案 1 :(得分:0)

您需要确保在return语句之前为int d分配一个值。您的逻辑也是错误的,并且您错过了代码中的else语句。您可以尝试以下代码:

  public static int min(int a, int b, int c) {

  int d ;
  if ((a <= b) && (a <= c))
      {
      d = a;
      }  
  else if ((a >= b) && (b <= c))
      {
      d = b;
      }
  else
      {
      d=c;
      }

  return d;
}

答案 2 :(得分:-1)

要么用一个值初始化int d,和/或包含一个else语句以分配d,以使return语句抛出null。您应该始终计划将ifif else语句评估为false时的情况。

答案 3 :(得分:-6)

使用int d=0;

使用NULL插入d

记住:使用elseif {}时,您必须以else {}结尾

if(condition){

}else if(condition){

}
else{
}