java - 如何使用 if 函数调用数组元素

标签 java arrays if-statement

基本上,我有一个变量“prime”。它只能取 0 到 6 之间的值。根据它的值,如果素数为 0,我希望字符串“结果”为星期日,如果素数为 1,则为星期一,等等。目前,它是这样编码的:

String result = new String();

    if (prime == 0)
    {
        result = "Sunday";
    }

    if (prime == 1)
    {
        result = "Monday";
    }

    if (prime == 2)
    {
        result = "Tuesday";
    }

    if (prime == 3)
    {
        result = "Wednesday";
    }

    if (prime == 4)
    {
        result = "Thursday";
    }

    if (prime == 5)
    {
        result = "Friday";
    }

    if (prime == 6)
    {
        result = "Saturday";
    }

    else
    {
        result = "Check your code.";
    }

我想知道是否有更快的方法来做到这一点?我创建了一个包含星期几的数组:

String[] days = new String[7];

    days [0] = "Sunday";
    days [1] = "Monday";
    days [2] = "Tuesday";
    days [3] = "Wednesday";
    days [4] = "Thursday";
    days [5] = "Friday";
    days [6] = "Saturday";

如何快速优雅地编写代码,以便如果素数的值为 0,则字符串“result”是数组的第一个元素,依此类推,直到如果素数为 6,则字符串“result”是数组的第一个元素第七元素?

最佳答案

您已经将所有有效值存储在一个简单的查找表中,您只需要确保请求的值在可用值的范围内。

基本的答案是做类似...

if (prime >= 0 && prime < days.length) { 
    result = days[prime]; 
} else {
    result = prime + " is not within a valid range";
    // Or throw an exception
}

这样做是为了确保 prime值在可接受值的有效范围内 ( 0..days.length - 1 ),否则它会返回错误消息(或者您可以抛出异常)。

记住,数组是 0索引,因此需要使用 < days.length (小于)而不是 <= days.length (小于或等于)

关于java - 如何使用 if 函数调用数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31467372/

相关文章:

java - 结构变化的休假报告的数据库架构

java - JDBC 能够处理庞大的数据库吗?

javascript - 使用 "in"检查字符串是否出现在数组中

java - If 语句为假时执行

JQuery 选择下拉更改事件 - 选择默认值

ruby - 一行 if-then 没有 else 子句

java - Maven 资源目录是放置您将在程序期间读取的 xml/json 文件的好地方吗?

java - 自包含数组深等于

php - 在 PHP 中使用 foreach 解析 JSON

java - Eclipse 终止键盘快捷键