- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个简单的谜语程序,它读取谜语文本文件,将其存储到 ArrayList 中,然后读取谜语答案的文本文件,并将其存储到 ArrayList 中。嗯,到目前为止一切顺利。我的问题是,每当用户回答其中一个谜语时,它应该为正确答案给出一分,而对于错误答案则不给出任何分数。我测试了一下,正确回答了这个谜语,但是程序却说它是错误的。现在,某些答案应该接受 1 以上作为正确答案,例如:问:什么东西有眼睛却看不见?答:一个土 bean 、一场 Storm 、一根针。假设用户想到的不是 3,而是 1,而且是 Storm 。我希望程序读取storm,并且由于它包含在答案中,所以它是正确的。这是我的代码。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
/* Array of riddles with a separate array of answers */
class RiddlesProgram
{
public RiddlesProgram(){} //Empty constructor
public void riddleGame() throws FileNotFoundException
{
String ridFile = "Riddles.txt";
String ansFile = "Answers.txt";
Scanner ridReader = new Scanner(new File(ridFile));
Scanner ansReader = new Scanner(new File(ansFile));
/** ArrayLists for riddles and answers */
ArrayList<String> riddles = new ArrayList<String>();
ArrayList<String> answers = new ArrayList<String>();
/** Reading the Riddles & storing them in their array */
while(ridReader.hasNext())
{
riddles.add(ridReader.nextLine());
}ridReader.close();
/** Reading the Answers & storing them in their array */
while(ansReader.hasNext())
{
answers.add(ansReader.nextLine());
}ansReader.close();
Scanner in = new Scanner(System.in);
String answer = "";
System.out.println("Welcome to the Riddler!");
System.out.println("Let's start answering riddles..."); System.out.println();
System.out.println("Each riddle will require either a one word answer, or multiple word answer.");
System.out.println("Example: \nQ: How much would could a wood chuck, chuck?\n"
+ "A: As much wood as a wood chuck could chuck if a wood chuck would chuck wood.");
int count = 1;
int points = 0;
while(count!=16)
{
System.out.println("Riddle # " + count);
System.out.println(riddles.get(count));
System.out.println("\nAnswer? ");
answer = in.nextLine();
if(answers.contains(answer.toLowerCase()))
{
System.out.println("Correct! + 1 point.");
points += 1;
}//End if
else
{
System.out.println("Wrong! No points!");
}//End else
count++;
}//End while
}//End riddlegame
}//End class
谜语文本示例
我比羽毛还轻,但没有人能抱我很久。我是什么?
三个人跑进一家酒吧,第四个人躲了起来。他为什么要躲闪?
怎么把长颈鹿放进冰箱?
如何把大象放进冰箱?
所有的动物都去参加狮子王的 session 。一只动物没有出现。哪种动物不来?
你来到一条鳄鱼居住的河流。没有船、木筏、桥梁,也没有制造它们的 Material 。你是如何到达的?
一根十五英尺长的绳子拴在一匹马身上。马距离干草堆 25 英尺。马怎样才能到达干草处?
从哪个数字开始,你可以拿走一半而不留下任何东西?
如何将鸡蛋从 3 英尺高处扔下而不打破它?
怎样才能只用一根棍子生火?
你如何区分一 jar 鸡汤和一 jar 番茄汤?
长颈鹿能生 child 吗?
什么东西有四个轮子并且会飞?
给我食物,我就活;给我东西喝,我就会死。我是什么?
什么东西有眼睛却看不见?
什么时候门不是门?
示例答案文本
呼吸
他不想去酒吧
打开门,把他放进去,关上门
打开门,把长颈鹿拿出来,放进去,关上门
大象,他在冰箱里
跳进去,游过去,出来。鳄鱼们正在开会
除了马之外,绳子没有绑在任何东西上
8. 去掉上半部分,留下“o”
把它扔到 4 英尺处,前 3 英尺鸡蛋不会撞到任何东西
确保它是火柴棍
阅读标签
不,他们有长颈鹿
垃圾箱
火
一根针,一个土 bean ,一场 Storm ,还是真正的恋人
当它半开时
最佳答案
answers
不包含字符串“storm”
。它包含一个包含“storm”
的字符串。在检查 String#contains(String)
之前从 answers
检索相应的字符串(而不是像您所做的那样 List#contains(Object)
现在)。
String correctAnswer = answers.get(count).toLowerCase();
if(correctAnswer.contains(answer.toLowerCase()))
{
System.out.println("Correct! + 1 point.");
points += 1;
}
关于java - 谜语的乐趣,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19480604/
我有以下代码: $value){ if($value == 1){ echo "{$key}, "; } } ?> 如您所见,我用 500 个零填充一个数组,遍历它两
一个 friend 给了我一个谜语: #include #define TOTAL_ELEMENTS ((sizeof(array) / sizeof(array[0]))) int array[
这几天,我一直克制自己的硕士学习,一直专注于这个(看似简单的)难题: 这个 10*10 的网格构成了一个包含 100 个可用地点的正方形。目的是从一个角落开始,根据一些简单的“遍历规则”遍历所有地方,
我正在努力解决这个问题MaxMirror在 CodingBat 上: We'll say that a "mirror" section in an array is a group of conti
有一个矩阵M*N。矩阵元素为黑色或白色。我们将相同颜色的相邻元素称为区域。您可以选择任何区域并翻转它的颜色(即改变所有元素的颜色)。给定这样一个矩阵,找到使整个矩阵变成黑色或白色所需的最小翻转次数。
从三个变量开始,都是System.DateTime。 a: 10/2/2009 2:30:00 PM b: 10/2/2009 2:30:00 PM c: 10/2/2009 2:30:00 PM 相
第一部分:从F#调用F# 假设我们在 F# 中定义了以下类型: type MyClass = static member Overload1 (x, y) = "Pim" static
(不,这不是家庭作业,我只是发现了这个错误并认为在这里分享它可能会有用) import java.util.List; public class BubbleSorter { public >
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我是一名优秀的程序员,十分优秀!