3 回答
TA贡献1828条经验 获得超3个赞
请看一下 和 的这个简单用法示例。MapList
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(0, "");
map.put(1, "0");
map.put(3, "f");
map.put(5, "-1");
map.put(7, "V");
map.put(9, "-/");
map.put(11, "()");
map.put(13, "()");
map.put(15, "^");
map.put(17, "E");
map.put(19, "=");
map.put(21, "x");
map.put(23, "y");
List<Integer> listOfInputIntegers = new ArrayList<>();
Scanner input = new Scanner(System.in);
int integer;
do {
System.out.print("Input your next number:");
integer = input.nextInt();
listOfInputIntegers.add(integer);
} while (integer != 0);
for (int i : listOfInputIntegers) {
System.out.print(map.get(i));
}
System.out.println();
}
https://docs.oracle.com/javase/8/docs/api/java/util/Map.html
https://docs.oracle.com/javase/8/docs/api/java/util/List.html
TA贡献1802条经验 获得超5个赞
将整数到字符串映射保留在 java.util.Map 中,以便在用户键入 int 后轻松获取相应的字符串。如果键入的字符串具有相应的字符串,请将其添加到要打印的字符串列表中。如果键入的字符串没有相应的字符串,请打印它并要求下一个intintint
在用户键入 0 停止循环后,通过联接列表中的所有字符串,从累积的字符串列表中创建一个字符串,直到用户键入 0
public class Test {
private static Map<Integer, String> integerToStringMappings = new HashMap<>();
static {
integerToStringMappings.put(1, "0");
integerToStringMappings.put(3, "f");
integerToStringMappings.put(5, "-l");
.... // and so on for all the integers mapped to strings
}
public static void main(String[] args) {
List<String> strings = new ArrayList<>();
Integer number = input.nextInt();
while(number != 0) {
System.out.println("Enter your integer: ");
number = input.nextInt();
String correspondingString = integerToStringMappings.get(number);
if ( correspondingString == null ) {
System.out.println("int: " + number);
} else {
strings.add(correspondingString);
}
}
System.out.println(String.join("", strings));
}
}
TA贡献1829条经验 获得超7个赞
这可以通过使用 ArrayList 轻松实现,因为您不知道数组的大小(除非您专门询问用户将输入的项目数)。
收集用户的数字后,只需遍历 ArrayList 中的每个数字,即可使用 if-else 语句生成相应的输出。在这种情况下,我强烈建议使用 switch 语句。
ArrayList<Integer> values = new ArrayList<Integer>();
int number = input.nextInt();
while(number != 0) {
values.add(number);
number = input.nextInt();
}
for(int i=0; i<values.size(); i++) {
int numberCheck = values.get(i);
//Run through the if-else statements using numberCheck
System.out.println("int: " + numberCheck);
}
添加回答
举报