【问题标题】:new in java method and returnjava中的新方法并返回
【发布时间】:2014-10-20 06:55:15
【问题描述】:

我有一个问题。我必须创建 3 个方法 testUreaRisk、testProteinRisk 和 printResults。以下是 3 个中的 2 个。

public class Lab {


        public static String testUreaRisk(double ureaLevel)
        {
            if ((ureaLevel < 0) || (ureaLevel > 10))
                return "0";
            else if (ureaLevel <= 4.0)
                return "-1";
            else 
                return "1";
        }

        public static String testProteinRisk(double proLevel)
        {
            if ((proLevel < 0) || (proLevel >150))
                return "0";
            else if (proLevel >= 67.0)
                return "1";
            else 
                return "-1";

        }

所以我的问题是我可以在返回数字 1、0、-1 中输入一个值,因为 -1 = 低风险,0 = 无法定义,1 = 高风险?如果可以,怎么做?因为第三种方法只能让我返回一个显示结果的字符串(低风险,无法定义和高风险)而不是数字(-1,0,1)。谢谢

【问题讨论】:

  • 你可以创建一个枚举来代替

标签: java methods return


【解决方案1】:

但更好的方法是使用Enum

例如:

  public enum Enum {
   LOW("-1"), NOT_DETERMINED("0"), HIGH("1");

  }

例如:

我的Enum班级

public enum Enum {
    LOW("-1"), NOT_DETERMINED("0"), HIGH("1");
    private String code;
    private Enum(String c) {
        this.code = c;
    }

    public String getCode() {
        return this.code;
    }

    public static Enum getEnum(String code) {
        switch (code) {
            case "-1":
                return LOW;
            case "0":
                return NOT_DETERMINED;
            case "1":
                return HIGH;
            default:
                return null;
        }
    }
}

现在

System.out.println(Enum.getEnum(testProteinRisk(10)));

会给你

LOW

【讨论】:

  • 我无法更改 testUreaRisk 和 testProteinRisk 返回值,因为问题要我以整数形式返回。只有第三种方法想要显示结果而不是整数。
  • @NoahSkullWeijian 那么你应该选择Enum
  • @NoahSkullWeijian 看我的例子。
【解决方案2】:

您应该在这里使用 Enum 类。如果你想有 int 值,你可以在每个枚举中创建一个 emthod,它将在此处重新输入代码并返回此值:)

Enum { LOW(-1), NOT_DETERMINED(0), HIGH(1);
 // getters
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-27
    • 2021-05-10
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    相关资源
    最近更新 更多