Java出力の場合とそうでありませんか?

マックス:

私はlexiographically私の文字列を整理したいです。私のコードも動作します。私は、文字列ハンス、アンナとMaxを入力すると、しかし、彼は私に、「場合」と「それ以外」のprintlnの両方を提供します。エラーはどこにありますか?

import java.util.Scanner;

class ersteAufgabe {

public static void main(String args[]) {

          Scanner scan = new Scanner(System.in);
          String s1 = scan.nextLine();
          String s2 = scan.nextLine();
          String s3 = scan.nextLine();
          if (s1.compareTo(s2) < 0 & s1.compareTo(s3) < 0 & s2.compareTo(s1) > 0 & s2.compareTo(s3) < 0 & s3.compareTo(s1) > 0 & s3.compareTo(s2) > 0) 
          {
            System.out.println("Ordnung:" + s1 +" "+ s2 +" " + s3);  
          }
          if (s1.compareTo(s2) < 0 & s1.compareTo(s3) < 0 & s2.compareTo(s1) > 0 & s2.compareTo(s3) > 0 & s3.compareTo(s1) > 0 & s3.compareTo(s2) < 0) 
          {
            System.out.println("Ordnung:" + s1 +" "+ s3 +" " + s2);  
          }
          if (s1.compareTo(s2) > 0 & s1.compareTo(s3) < 0 & s2.compareTo(s3) < 0 & s2.compareTo(s1) < 0 & s3.compareTo(s1) > 0 & s3.compareTo(s2) > 0) 
          {
            System.out.println("Ordnung:" + s2 +" "+ s1 +" " + s3);  
          }
          if (s1.compareTo(s2) > 0 & s1.compareTo(s3) > 0 & s2.compareTo(s1) < 0 & s2.compareTo(s3) < 0 & s3.compareTo(s1) < 0 & s3.compareTo(s2) > 0) 
          {
            System.out.println("Ordnung:" + s2 +" "+ s3 +" " + s1);  
          }
          if (s1.compareTo(s2) < 0 & s1.compareTo(s3) > 0 & s2.compareTo(s3) > 0 & s2.compareTo(s1) > 0 & s3.compareTo(s1) < 0 & s3.compareTo(s2) < 0)
          {
            System.out.println("Ordnung:" + s3 +" "+ s1 +" " + s2);  
          }
          if (s1.compareTo(s2) > 0 & s1.compareTo(s3) > 0 & s2.compareTo(s1) < 0 & s2.compareTo(s3) > 0 & s3.compareTo(s2) < 0 & s3.compareTo(s1) < 0)
          {
            System.out.println("Ordnung:" + s3 +" "+ s2 +" " + s1);  
          } else{
              System.out.println("Ungueltige Eingabe");
          }

    }
 }
MWB:

elseあなたのコード内でのみ、最後に接続されていますifその他の場合は、1つことを意味することにifsが真である(そして、最後はif偽であるが)、else同様に実行されます。だから、これを試してみてください。

public static void main(String args[]) {

          Scanner scan = new Scanner(System.in);
          String s1 = scan.nextLine();
          String s2 = scan.nextLine();
          String s3 = scan.nextLine();
          if (s1.compareTo(s2) < 0 & s1.compareTo(s3) < 0 & s2.compareTo(s1) > 0 & s2.compareTo(s3) < 0 & s3.compareTo(s1) > 0 & s3.compareTo(s2) > 0) 
          {
            System.out.println("Ordnung:" + s1 +" "+ s2 +" " + s3);  
          }
          else if (s1.compareTo(s2) < 0 & s1.compareTo(s3) < 0 & s2.compareTo(s1) > 0 & s2.compareTo(s3) > 0 & s3.compareTo(s1) > 0 & s3.compareTo(s2) < 0) 
          {
            System.out.println("Ordnung:" + s1 +" "+ s3 +" " + s2);  
          }
          else if (s1.compareTo(s2) > 0 & s1.compareTo(s3) < 0 & s2.compareTo(s3) < 0 & s2.compareTo(s1) < 0 & s3.compareTo(s1) > 0 & s3.compareTo(s2) > 0) 
          {
            System.out.println("Ordnung:" + s2 +" "+ s1 +" " + s3);  
          }
          else if (s1.compareTo(s2) > 0 & s1.compareTo(s3) > 0 & s2.compareTo(s1) < 0 & s2.compareTo(s3) < 0 & s3.compareTo(s1) < 0 & s3.compareTo(s2) > 0) 
          {
            System.out.println("Ordnung:" + s2 +" "+ s3 +" " + s1);  
          }
          else if (s1.compareTo(s2) < 0 & s1.compareTo(s3) > 0 & s2.compareTo(s3) > 0 & s2.compareTo(s1) > 0 & s3.compareTo(s1) < 0 & s3.compareTo(s2) < 0)
          {
            System.out.println("Ordnung:" + s3 +" "+ s1 +" " + s2);  
          }
          else if (s1.compareTo(s2) > 0 & s1.compareTo(s3) > 0 & s2.compareTo(s1) < 0 & s2.compareTo(s3) > 0 & s3.compareTo(s2) < 0 & s3.compareTo(s1) < 0)
          {
            System.out.println("Ordnung:" + s3 +" "+ s2 +" " + s1);  
          } else{
              System.out.println("Ungueltige Eingabe");
          }
    }
 }

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=232787&siteId=1