有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我初始化它的目的是什么?

我在学习方法,我从三个整数的最大值开始。我试着运行它,它告诉我我还没有初始化result。我知道我没有,但我不知道初始化它到底是为了什么。我可能把代码搞砸了或者忘了什么,所以如果你能指出给我看,我将不胜感激

import java.util.Scanner;

public class MinMaxAvg {

    public static void main(String[] args) {
        int i = 5;
        int j = 2;
        int k = 3;
        int l = max(i, j, k);
        System.out.println ("The maximum of " + i + " and " + j + " and " + k + " is " + l);
    }

    public static int max (int num1, int num2, int num3) {
        int result;

        if (num1 > num2 || num1 > num3) {
            result = num1;
        } else if (num2 > num1 || num2 > num3) {
            result = num2;
        } else if (num3 > num1 || num3 > num2) {
            result = num3;
        }
        return result;
    }
}

共 (4) 个答案

  1. # 1 楼答案

     public static int max (int num1, int num2, int num3) {
        int max = num1;
    
        if (num2 > max ) {
            max = num2;
        } 
    
        if (num3 > max ) {
            max = num3;
        }
    
        return max ;
    }
    

    不过java很酷,所以如果你想变得更时髦,就这么做吧

    public static int max(int... args)
    {
        int max = Integer.MIN_VALUE;
    
        for (int a : args)
        {
            if (a > max)
            {
                max = a;
            }
        }
    
        return max;
    }
    
  2. # 2 楼答案

    您可以使用一些默认值来初始化局部变量int result = Integer.Integer.MIN_VALUE

  3. # 3 楼答案

    初始化

    int result;
    

    作为

    int result = 0;
    
  4. # 4 楼答案

    当您声明方法时,方法中的所有变量都充当局部变量,在使用它之前必须对其进行初始化。 请尝试以下代码:

    import java.util.Scanner;
    
    public class MinMaxAvg {
    
    public static void main(String[] args) {
    
    int i = 5;
    int j = 2;
    int k = 3;
    int l = max(i, j, k);
    System.out.println ("The maximum of " + i +
       " and " + j + " and " + k + " is " + l);
       }
    
    public static int max (int num1, int num2, int num3) {
    
    int result=0;//initialize here by 0 or any other value
    
    if (num1 > num2 || num1 > num3) {
       result = num1;
    
    } else if (num2 > num1 || num2 > num3) {
       result = num2;
    
    } else if (num3 > num1 || num3 > num2) {
       result = num3;
    
    }
    
    return result;
    }
    }
    

    如果仍要使用int result而不进行初始化,则必须将其声明为实例变量,如:

     public class MinMaxAvg {
        static int result;
        }
    

    有关更多信息,请访问: https://docs.oracle.com/javase/tutorial/java/javaOO/variables.html