我是Java的新手,已经获得了以下任务:
给出的建议是在适当的地方使用数组和集合以及异常处理,但是到目前为止,我不知道从哪里编写代码。任何帮助将不胜感激,谢谢。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String[] bodyparts = new String [10];
bodyparts[0] = "Arm";
bodyparts[1] = "Ear";
bodyparts[2] = "Eye";
bodyparts[3] = "Gum";
bodyparts[4] = "Hip";
bodyparts[5] = "Jaw";
bodyparts[6] = "Leg";
bodyparts[7] = "Lip";
bodyparts[8] = "Rib";
bodyparts[9] = "Toe";
Set<String> bodypartSet = new TreeSet<>();
Collections.addAll(bodypartSet, bodyparts);
System.out.println("Please enter a 3 letter body part: ");
String bodypart = input.nextLine();
if (bodypartSet.contains(bodypart)) {
System.out.println("Correct, " + bodypart + " is on the list!");
} else {
System.out.println("Nope, try again!");
}
}
答案 0 :(得分:0)
有很多方法可以做到这一点。以下内容不是最佳或最有效的方法,但它应该可以工作... 首先,您必须将“正式”列表放入结构中,例如数组:
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
var domain = changeInfo.url; // Or tab.url
/* ... */
现在,您必须编写一种可以在“ offList”中找到世界的方法,如下所示:
private static String[] offList={Arm, Ear, Eye, Gum, Hip, Jaw, Leg, Lip, Rib, Toe};
现在,让我们创建一个猜谜游戏GUI:
private static boolean find(String word){
for( int i=0; i<offList.length; i++){
if(word.equals(offList[i])) //if "word" is in offList
return true;
}
return false;
}
如果要在窗口中显示此游戏,则必须学习一些Java Swing类。
编辑:我在主要帖子编辑之前发布我的答案。首先,您必须了解Collections的优点和用法...例如,当您知道所有LinkedList方法时,此分配看起来就像是在开玩笑! ;)
答案 1 :(得分:0)
您需要一个循环,否则它将只要求输入一次。
类似的事情应该做:
ArrayList<String> bodyParts = new ArrayList<String>();
bodyParts.add("Arm");
bodyParts.add("Ear");
bodyParts.add("Eye");
bodyParts.add("Gum");
bodyParts.add("Hip");
bodyParts.add("Jaw");
bodyParts.add("Leg");
bodyParts.add("Lip");
bodyParts.add("Rib");
bodyParts.add("Toe");
String input = "";
int totalGuesses = 0;
Scanner sc = new Scanner(System.in);
System.out.println("Start guessing...");
while (!bodyParts.isEmpty()) {
totalGuesses++;
input = sc.nextLine();
if (input.length() != 3 || !bodyParts.contains(input)) {
// incorrect, do nothing
System.out.println("Nope.");
} else {
// correct, remove entry
bodyParts.remove(input);
System.out.println("Correct! " + (10 - bodyParts.size()) + " correct guess" + ((10 - bodyParts.size()) != 1 ? "es" : ""));
}
}
System.out.println("Done. You have found them all after " + totalGuesses + " guesses.");
sc.close();
此外,这是区分大小写的。键入Arm
时找不到arm
。而且,如果您需要所有猜测的数目,则只需在循环之前添加int
,然后在循环中增加它即可。
我的示例的结果:
开始猜测...
手臂
没有
手臂
正确! 1个正确的猜测
手臂
没有
耳朵
正确! 2个正确的猜测
眼睛
正确! 3个正确的猜测
(...)
肋骨
正确! 9个正确的猜测
脚趾
正确! 10个正确的猜测
做完了经过12次猜测,您已经找到了它们。