【问题标题】:how to access specific element of one element in three arrays如何访问三个数组中一个元素的特定元素
【发布时间】:2022-01-12 03:04:35
【问题描述】:

字符串标题[] = {"ICT", "ENG", "MATH", "PHY", "CS", "PKS"};

字符串 C_Code[] = {“CS-164”、“ENG-101”、“MATH-107”、“PHY-117”、“CS-102”、“PKS-101”};

int Credit_H[]= {4, 3, 3, 3, 4, 2};

我有这三个数组。在这个问题中,如果我给出课程标题,例如,我给出“数学”,那么在第二个数组程序中将显示数学的课程代码,然后在第三个数组学分中,数学的学分将显示我。换句话说,如果我输入任何课程标题,那么它的课程代码和学分将显示在屏幕上

【问题讨论】:

    标签: java arrays


    【解决方案1】:

    只允许用户进行选择。

    int ch = scan.nextInt();
    System.out.println("Title: " + Title[ch] + "; C_Code: " + C_Code[ch] + "; Credit_H: " + Credit_H[ch]);
    

    注意: ch 的值必须介于 0 和数组长度之间。如果要开始 1 您需要将 1 添加到 ch ex。 C_Code[ch + 1]

    【讨论】:

      【解决方案2】:

      我认为你实际上想要两个 hashmaps

      Map<String, String> codes  = new HashMap<>() {{
          put("ICT",  "CS-164");
          put("ENG",  "ENG-10");
          put("MATH", "MATH-107");
          put("PHY",  "PHY-117");
          put("CS",   "CS-102");
          put("PKS",  "PKS-101");
      }};
      
      Map<String, Integer> credits  = new HashMap<>() {{
          put("ICT",  4);
          put("ENG",  3);
          put("MATH", 3);
          put("PHY",  3);
          put("CS",   4);
          put("PKS",  2);
      }};
      

      【讨论】:

        【解决方案3】:

        我假设所有数组都具有相同的长度和相同的索引。

        所以你可以找到第一个数组的索引。

         index = 2 with MATH.
        

        这意味着你必须遍历第一个数组才能找到索引。

        那么你就可以使用上面的索引来访问C_Code和Credit_H了。

        String code = C_Code[index];
        
        int credit = Credit_H[index];
        

        PS:注意item not found,你应该返回index=-1,然后你需要检查index > -1,然后你可以访问代码/信用...否则显示警告或抛出异常...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-08-16
          • 2013-03-24
          • 1970-01-01
          • 1970-01-01
          • 2017-12-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多