java - 打印与数组中的数字匹配的字符串

标签 java arrays match

我试图从字符串列表(数组)中仅取出一个与用户输入(数字)相对应的值。如果用户输入数字 4,结果应该是 60。这是我一直试图完成的代码。错误是 int 和 string 不兼容(当然),但除此之外,我确信我在其他地方也犯了错误。我希望数组尽可能简单,没有对象和类。

import java.util.Scanner;
public class FindStringValue{
public static void main(String[] args){


  final int[] VALID_NUMBERS=new int[8];
  String[] someArray = {"20", "30", "40", "50", "60", "70", "80", "90"};

  int inputNumber;
  boolean foundIt=false;
  int x=0;

  Scanner in = new Scanner(System.in);
  System.out.print("Enter a number from 0-7 >> ");
  inputNumber = in.nextInt();

  for(x=0;x<VALID_NUMBERS.length;++x)
        if(x==(someArray[x])){
        foundIt=true;
        break;}
        System.out.println("The Number "+inputNumber+" corresponds to String  "+someArray[x]);

        }
              }

最佳答案

也许我误读了这个问题,但听起来你想要的是:

if(inputNumber >= 0 && inputNumber < someArray.length) {
  System.out.printf("The Number %d corresponds to String %s\n", inputNumber, someArray[inputNumber]);
} else {
  // you don't really show how you want to handle this case...
}

尚不清楚 VALID_NUMBERS 的用途。

编辑

我的意思是你应该完全替换 for 循环:

import java.util.Scanner;
public class FindStringValue {

  final String[] someArray = {"20", "30", "40", "50", "60", "70", "80", "90"};

  public static void main(String[] args) {

    Scanner in = new Scanner(System.in);
    System.out.print("Enter a number from 0-7 >> ");
    int inputNumber = in.nextInt();

    if(inputNumber >= 0 && inputNumber < someArray.length) {
      System.out.printf("The Number %d corresponds to String %s\n", inputNumber, someArray[inputNumber]);
    } else {
      // you don't really show how you want to handle this case...
    }
  }
}

关于java - 打印与数组中的数字匹配的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145837/

相关文章:

java - 无法创建其他布局版本

java - 如何创建一个永远在垂直方向滚动的滚动 Pane ?

java - 使用 Java 连接到本地主机独立 HBase(无需 Kerberos)时出现 "MasterNotRunningException Failed to find any Kerberos tgt"

java - 为什么向文件 java 添加回车符不起作用?

python - 根据索引矩阵对 numpy 矩阵进行排序

python - 在两个列表中查找重叠对象的最快方法

c - 根据文件大小动态分配数组大小 - C

Javascript两个 "For"循环循环从3个数组中获取数据

templates - xslt 模板标签的匹配属性变量

elasticsearch - 在 Elasticsearch 结果中显示不匹配的词