gpt4 book ai didi

java - 在 for 循环内使用 switch 语句

转载 作者:行者123 更新时间:2023-12-01 06:35:49 24 4
gpt4 key购买 nike

我有一个关于在 for 循环中使用 switch 语句是否合法的问题。它在 Eclipse 下面编写的方式给了我一个错误,并且不允许我在 for 循环中的第二个语句上使用 switch(n) 。我想做的是写...

这个老头,他演过1
他在我的拇指上玩起了小玩意。

有没有更好的方法通过 for 循环和 switch 语句解决下面的问题?我想用不同的数字和不同的大小写出10个不同的段落。所以 1 个拇指,2 个鞋子,3 个膝盖......直到 10。

import acm.program.*;

public class SingSong extends ConsoleProgram {

public void run() {
for (int n = 1; n <= 10; n++) {
println("This old man, he played " + n);
println("He played knick-knack on my" + switch(n));
println("With a knick-knack, paddy-whack,");
println("Give your dog a bone");
println("This old man came rolling home");

switch (n) {
case 1 : println("thumb"); break;
case 2 : println("shoe"); break;
case 3 : println("knee"); break;
case 4 : println("door"); break;
case 5 : println("hive"); break;
case 6 : println("sticks"); break;
case 7 : println("heaven"); break;
case 8 : println ("pate"); break;
case 9 : println("spine"); break;
case 10 : println("shin"); break;
}
}
}
}

最佳答案

您想要的是一个您将调用的方法:

private String which(int n) {
switch (n) {
case 1 : return "thumb";
case 2 : return "show";
case 3 : return "knee";
case 4 : return "door";
case 5 : return "hive";
case 6 : return "sticks";
case 7 : return "heaven";
case 8 : return "pate";
case 9 : return "spine";
case 10 : return "shin";
default: return "";

}
}

然后替换

println("He played knick-knack on my" + switch(n));

println("He played knick-knack on my" + which(n));

另一种更简洁的方法是创建一个字符串数组:

static final String[] which = {
"thumb","show","knee","door","hive", "sticks","heaven","pate","spine","shin"};

然后使用

println("He played knick-knack on my" + which[n]);

关于java - 在 for 循环内使用 switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13378183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com