0

txtファイルの内容をコンソールに出力しているため、ファイルを読み取っていることはわかっていますが、.equalsを試すたびに、変数がtrue/falseに変化せず、trueのままになりますアイデアはありますか?

public static void readWebPage() {
      URLConnection connection;
      try {
       connection = new URL("https://dl.dropbox.com/u/40562795/List.txt").openConnection();
       @SuppressWarnings("resource")
       Scanner scanner = new Scanner(connection.getInputStream());
       scanner.useDelimiter("\\z");
       String text = scanner.next();
        System.out.println(text);
        if(text.equals("stop")){
            stop = true;
            System.out.println("Successfully stopped.");
        }else{ if(text.equals("-"))
            stop = false;
            System.out.println("Successfully started.");
        }
      } catch (MalformedURLException e) {
       e.printStackTrace();
      } catch (IOException e) {
       e.printStackTrace();
      }
 }

編集:

これで問題なく読めるようになりましたが、変数が true/false に更新されません。コンソールに表示されるように、trueのままです。

if(stop = false){
    System.out.println("stop = false.");
}else
if(stop = true){
    System.out.println("stop = true.");
}

私の変数の作り方:

 public static boolean stop = false;

それが私が変数を作成した方法であり、= false にする必要がありますが、停止することも変更することもできません。Java ファイルを検索して、true をトリガーしている可能性のあるものを探しましたが、何も見つかりませんでした。

4

1 に答える 1

1

-リモート テキスト ファイル内の文字の後に末尾のスペースがあります。行終端区切り文字ではなく、空白区切り文字を使用できます。交換

scanner.useDelimiter("\\z");

scanner.useDelimiter("\\s+");

あなたの小切手textと一致するように。.equals

編集:

if編集から、ステートメント式に割り当てがあります。

if (stop = false) {

と置換する

if (stop == false) {

またはそれ以上

if (!stop) {

全体として、このifステートメントは不要です。単に次のように記述できます。

System.out.println("stop = " + stop);
于 2013-02-02T22:06:30.740 に答える