初学者'nextLine'

时间:2013-09-10 14:30:19

标签: java

我正在研究一个java问题,我正在创建一个模拟旧电视智力竞赛节目的程序, You Bet Your Life 。游戏节目主持人Groucho Marx选择了一个秘密词,然后与参赛者聊了一会儿。如果任一参赛者在一个句子中使用该秘密词,他或她将赢得$ 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)创建一个带有secret字的新in.nextLine()对象。

我不确定我是怎么做的?请有人解释一下! 谢谢! 英里

6 个答案:

答案 0 :(得分:2)

查看Scanner API,或许Java Tutorial on Objects。那就是Strings

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

没有冒犯:)。

答案 1 :(得分:1)

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

String line = in.nextLine();

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

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

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

答案 2 :(得分:0)

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

完成

答案 3 :(得分:0)

你需要看起来像这样的东西:

扫描仪输入=新扫描仪(System.in); //接受单词

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

格劳乔主持人=新格劳乔(secretWord); //创建一个Groucho对象并将其传递给

答案 4 :(得分:0)

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

例如:

String inputWord = in.nextLine();
Groucho g = new Groucho(inputWord);

答案 5 :(得分:0)

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

String line = in.nextLine();

现在你有一整行输入,你可以从中得到第一个字。

在一个句子中,每个单词都用空格与其他单词分开。在String类中,split()方法可以将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); 

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