首页 > 解决方案 > 使用 For 循环遍历拆分索引

问题描述

我有一个程序,其中用户输入用空格分隔的 5 个单词整数。然后程序输出与数字对应的字符。例如:sPaghetti omElette Apple Crouton Exciting并且2 3 1 1 1会导致PEACE.

这是我的代码:

import java.util.Scanner;
Scanner userInput = new Scanner(System.in);


System.out.print("Enter five words: ");
String fiveWords = userInput.nextLine();

// Split string by word
String[] wordIndex = fiveWords.split(" ");


System.out.print("Enter five integers: ");
String fiveInts = userInput.nextLine();

// Split string by integer
String[] intIndex = fiveInts.split(" ");


for (int i = 0; i < 5; i++) {
     // Next line doesn't work, though I believe it should
     System.out.println((int) intIndex[i]);
     // Because of previous line, this one shouldn't work
     System.out.println(wordIndex[i].charAt(number));
}

当尝试使用迭代索引时,charAt()我不断得到一个

required: int
found: String

错误并转换为 int 似乎不起作用。我该如何解决这个问题?

标签: javafor-loopsplit

解决方案


System.out.println((int) intIndex[i]);

这行代码抛出错误,因为您试图将 String 解析为不允许的 int 原语。

用于Integer.parseInt(intIndex[i])获取可以通过自动拆箱分配给 int priitive 的 Integer 对象。


推荐阅读