2016-05-06 4 views
0

円錐がAとCに基づいているものを判別するためのJava計算機を作成します。Javaで作業し始めたばかりで、CodeAcademyコースも終了していないので、これを書き換える。ありがとうございました!Java円錐計算機

public static void main (String[] args) throws java.lang.Exception 
    { 



    System.out.println("INPUT YOUR DESIRED EQUATION IN THE FORM Ax\u00B2 + Bxy + Cy\u00B2 + Dx + Ey + F = 0"); 

    Scanner reader = new Scanner(System.in); 

    System.out.println("INPUT THE VALUE OF A: "); 

    int a = reader.nextInt(); 

Scanner reader = new Scanner(System.in); // Reading from System.in 

    System.out.println("INPUT THE VALUE OF C: "); 

    int c = reader.nextInt(); 

    if (a = 0 || b = c) { 

      System.out.println("YOUR EQUATION IS A PARABOLA"); 

     } else if (a = c) { 

      System.out.println("YOUR EQUATION IS A CIRCLE"); 

     } else if (a*c > 0) { 


      System.out.println("YOUR EQUATION IS AN ELLIPSE"); 

     } 

      else { 

       System.out.println("YOUR EQUATION IS A HYPERBOLA"); 

      } 


} 
    } 
} 

答えて

0

あなたの条件文で=の代わりに==を使用する必要があります。 ==は同等かどうかのテストです。 =は代入演算子です。すべての条件文が現在書かれている方法では、変数を比較する代わりに変数に値を代入しています。代入文ではブール値を返すことができないため、コードをコンパイルできません。

さらに、readerを2回宣言する必要はありません。あなたは実際にそれをすることはできません。二回目は、この行に出会う:

Scanner reader = new Scanner(System.in);

プログラムがすでに同じ名前を持つ既存のものがあるので、それは行うことはできませんreaderと呼ばれる新しい変数を作成する必要があります。さて、それはこの二度目行うことが可能であろう。この場合

reader = new Scanner(System.in);

を、あなたは単に、むしろ別の変数を作成しようとするよりも、新しいScannerを指すようにreader再割り当てされています。

readerは既にSystem.inScannerを参照しているため、完全に不要になるため、そのステートメントの2番目のオカレンスを削除するだけで済みます。

+0

はあなたの助けをいただき、ありがとうございます。私はコードを変更しましたが、今ではエラーが発生しています。スレッド "main"の例外例外java.util.NoSuchElementException \t java.util.Scanner.throwFor(Scanner.java:862) \t java.util.Scanner .next Ideone.mainでjava.util.Scanner.nextInt(Scanner.java:2117)で(Scanner.java:1485) \t java.util.Scanner.nextIntで\t(Scanner.java:2076) \t( Main.java:20)私はIdeoneでそれを実行しようとします。これは少なくともコンパイルされますが、これを修正できる方法はありますか? – synapticrelay

+0

@ synapticrelay正直言って、私はそれを引き起こす可能性があるのか​​分かりませんし、複製することもできません。あなたは何の入力をしていますか? –

+0

コメントに完全なコードを投稿する方法がわかりません。私は別の "答え"を追加し、そこで更新されたコードを投稿しました – synapticrelay

0

(ポスト/返信エチケットはどのような方法でオフになっている場合の謝罪)ベサニ-ルイーズ@ Ideoneのデフォルトのコードと一緒に

全入力は、これです

import java.util.*; 
import java.lang.*; 
import java.io.*; 

/* Name of the class has to be "Main" only if the class is public. */ 
class Ideone 
{ 
public static void main (String[] args) throws java.lang.Exception 
{ 

System.out.println("INPUT YOUR DESIRED EQUATION IN THE FORM Ax\u00B2 + Bxy + Cy\u00B2 + Dx + Ey + F = 0"); 

Scanner reader = new Scanner(System.in); 

System.out.println("INPUT THE VALUE OF A: "); 

int a = reader.nextInt(); 

System.out.println("INPUT THE VALUE OF C: "); 

int c = reader.nextInt(); 

if (a == 0 || c == 0) { 

    System.out.println("YOUR EQUATION IS A PARABOLA"); 

} else if (a == c) { 

    System.out.println("YOUR EQUATION IS A CIRCLE"); 

} else if (a*c > 0) { 


    System.out.println("YOUR EQUATION IS AN ELLIPSE"); 

} 

    else { 

     System.out.println("YOUR EQUATION IS A HYPERBOLA"); 

    } 
} 
}