0

古いテレビのクイズ番組You Bet Your Lifeをシミュレートするプログラムを作成している現在、Java の問題に取り組んでいます。ゲームショーの司会者である 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オブジェクトを作成する必要があります。secretin.nextLine()

どうやってこれを行うのかわかりませんか?誰か説明してください!ありがとう!マイル

4

6 に答える 6

2

Scanner APIと、おそらくJava Tutorial on Objectsを見てください。そしてそれはStringsです。

基本を学ぶことは、通常、どこかからコード行を取得するよりも役立ちます。

悪気ない :)。

于 2013-09-10T14:34:38.483 に答える
0

Scannerクラスでは、メソッドnextLine()は入力の次の行を として受け取りますStringStringその入力行を変数に保存できます。

String line = in.nextLine();

完全な入力行ができたので、そこから最初の単語を取得できます。

文では、各単語は他の単語とスペースで区切られています。このStringクラスでは、このsplit()メソッドは、Stringa を、パラメーターとして指定したスペース (" ") などの特定の区切り文字を使用して、文中の単語などの小さな文字列の配列に分割できます。

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); 

この段階的な説明により、各ステップで新しい変数が作成されました。複数行のコードを 1 つのステートメントに結合することで同じタスクを実行し、不要な変数の作成を避けることができます。

于 2014-11-01T03:02:26.977 に答える
0

新しいGrouchoオブジェクトを作成in.nextLine()し、パラメーターとして渡します。これは、Groucho g = new Groucho( in.nextLine() );

于 2014-04-03T19:49:42.953 に答える