0

これは基本的に、Hello world を除いて、私の最初の Java プログラムです。過去数時間、できるだけ多くのエラーを取得しようとしましたが、新しいエラーが発生し続けています。私はGoogleのソリューションを試してみましたが、最終的には新しいエラーが発生しましたが、それがあなたの学習方法だと思います^^

私は立ち往生していますが、次のエラーが表示されます: http://i.stack.imgur.com/mUUsb.png

リストlijstKaartenからランダムな文字列を選択するという目標を達成するために、いくつかの異なる方法を試しました。プログラムの全体的な目標は、カードの種類 (ハート、クラブ、ダイヤ、スペード) とカード番号を入力してカードを選ぶことです。コンピューターもカードを選択する必要があります。私の演習では、デフォルトのカードを使用するように指示されていますが、コンピューターの選択を示すためにランダムなタイプと番号を生成したいと考えています。

これが私のコードです:

package userinput;
import javax.swing.JOptionPane;
import java.*;
import java.io.*;
import java.util.*;

public class Thuisopdracht {
    public static void main(String[] args) throws InterruptedException {
        List<String> lijstKaarten = new LinkedList<String>();
        lijstKaarten.add("Harten");
        lijstKaarten.add("Ruitens");
        lijstKaarten.add("Klaveren");
        lijstKaarten.add("Schuppen");

    Random rand = new Random();
    while (true) {
        int computerKeuze = rand.nextInt(lijstKaarten.size());
        String stringcomputerKeuze;
        stringcomputerKeuze = lijstKaarten.get(computerKeuze);
    }


    double computerNummer = (Math.random() * (13 - 1)) + 1;

    String typeKaart;
    typeKaart = JOptionPane.showInputDialog("Welk type kaart kies je?");

    InputStreamReader istream = new InputStreamReader(System.in) ;
    BufferedReader bufRead = new BufferedReader(istream) ;
    System.out.println("Welke kaartnummer kiest u? (1-13)");
    String kaartNummer = bufRead.readLine();

    int intKaartNummer = Integer.parseInt(kaartNummer);

    System.out.println("De computer koos " + stringcomputerKeuze + " " + computerNummer);
    System.out.println("Jij koos " + typeKaart + " " + kaartNummer);


    }

}
4

3 に答える 3

1

String stringcomputerKeuze;while ループ内で変数が初期化および宣言されていません。行ったprintlnからはアクセスできません。それを初期化し、ループの外側で宣言します。

Random rand = new Random();
String stringcomputerKeuze = "";
while (true) {
        int computerKeuze = rand.nextInt(lijstKaarten.size());
        stringcomputerKeuze = lijstKaarten.get(computerKeuze);
}

ループが無期限に実行されるため、ループには停止条件も必要です。例ごとにカウンターを追加できます。

        String stringcomputerKeuze = "";
        int counter = 0;
        while (counter != 5) {
            int computerKeuze = rand.nextInt(lijstKaarten.size());
            stringcomputerKeuze = lijstKaarten.get(computerKeuze);
            counter++;
        }
于 2013-09-22T12:30:17.153 に答える
0

メソッドでは、変数を使用する前に変数を初期化する必要があります

初期化していません

String stringcomputerKeuze;

のように初期化してみてください

   String stringcomputerKeuze =null;

また

  String stringcomputerKeuze ="";
于 2013-09-22T12:22:49.663 に答える