0

我正在处理一个 java 问题,我正在创建一个模拟旧电视问答节目You Bet Your Life的程序。游戏节目主持人格劳乔·马克思选择了一个秘密词,然后与参赛者聊了一会儿。如果任一参赛者在一个句子中使用了这个秘密词,他或她将赢得 100.00 美元。

我的程序旨在检查这个秘密词。

到目前为止,这是我的代码:

import java.util.Scanner; 

public class Groucho {
  String secret; 

  Groucho(String secret) {
     this.secret = secret; 
  }

  public String saysSecret(String line) {
     if(secret.equals(line)){
         return ("true");
     } else {
         return ("false");
     }
  }

  public static void main(String[] args){
     Scanner in = new Scanner(System.in); 
  }

}

在 main 方法中,我现在需要使用标准输入 ( ) 第一行中Groucho的单词创建一个新对象。secretin.nextLine()

我不确定我该怎么做?有人可以解释一下吗!谢谢!英里

4

6 回答 6

2

看看Scanner API,也许还有Java Tutorial on Objects。那在Strings上。

学习基础知识通常比从某个地方获取一行代码更有用。

没有恶意 :)。

于 2013-09-10T14:34:38.483 回答
1

您可以使用以下语句阅读该行:

String line = in.nextLine();

然后,如果您想要第一个单词(例如),您可以拆分行并创建一个新的 Groucho 对象。

String split = line.split(" ");
Groucho g = new Groucho(split[0]);

在这里您可以找到有关以下内容的更多信息:

于 2013-09-10T14:32:36.613 回答
0

您将需要如下所示的内容:

扫描仪输入 = 新扫描仪(System.in);//取词

String secretWord = in.nextLine(); //把它放在一个字符串中

Groucho host = new Groucho (secretWord); //创建一个 Groucho 对象并将单词传递给它

于 2014-04-06T03:04:14.890 回答
0

您将创建一个新Groucho对象并in.nextLine()作为参数传入。这将由Groucho g = new Groucho( in.nextLine() );

于 2014-04-03T19:49:42.953 回答
0

Scanner类中,该nextLine()方法将下一行输入作为String. 您可以将该行输入保存到String变量中:

String line = in.nextLine();

现在您有了完整的输入行,您可以从中获取第一个单词。

在一个句子中,每个单词与其他单词之间用空格隔开。在String类中,该split()方法可以将 a 拆分String为一个较小的字符串数组,例如句子中的单词,并带有给定的分隔符,例如空格 (" "),您可以将其指定为参数:

String[] words = line.split(" ");

接下来,您可以通过选择适当的索引从数组中选择一个秘密词。

对于第一个词:

String chosenWord = words[1];

最后一句话:

String chosenWord = words[words.length - 1];

对于随机词:

String chosenWord = words[Math.floor(Math.random() * words.length)];

现在您可以简单地将密码字作为参数传递给新的Groucho构造函数:

Groucho secretWord = new Groucho(chosenWord); 

这个分步说明在每一步都创建了一个新变量。您可以通过将多行代码组合到一条语句中来完成相同的任务,并避免创建不必要的变量。

于 2014-11-01T03:02:26.977 回答
0

in.nextLine() 将采用整个输入的单行,因此您可以简单地将其传递给构造函数。

例如:

String inputWord = in.nextLine();
Groucho g = new Groucho(inputWord);
于 2014-04-22T13:14:42.873 回答