2011-10-26 16 views
0

文字を返すだけのif/elseステートメントでpublic staticメソッドを正確に使用する方法がわかりません。プログラムはx、yをとり、座標がどこにあるかを返すものとします。 (noobのは、Javaのために!)象限チェッカープログラムの適切なメソッドを作成できません

import javax.swing.JOptionPane; 

public class Assignment13 { 

    public static void main(String[] args) { 
     String userInputx, 
      userInputy; 
     double x, y, answer; 

     userInputx = JOptionPane.showInputDialog("Please enter your x coordinate."); 
     x = Double.parseDouble(userInputx); 

     userInputy = JOptionPane.showInputDialog("Please enter your y coordinate."); 
     y = Double.parseDouble(userInputy); 

     answer = MethodQuad.quadrant(x, y); 

     System.out.println("The coordinates " + x + y + "are located Quadrant " + answer); 
    } 
} 

class MethodQuad { 

    public static double quadrant(double x, double y) { 

     if (x > 0 && y > 0) { 
      return System.out.println("1"); 
     } else if (x < 0 && y > 0) { 
      return System.out.println("2"); 
     } else if (x < 0 && y < 0) { 
      return System.out.println("3"); 
     } else if (x < 0 && y > 0) { 
      return System.out.println("4"); 
     } else { 
      return System.out.println("0"); 
     } 
    } 
} 
+0

だけのノート:私は、有効な座標の5つの*値*のいずれかを返すことができ象限機能は少し...不必要に複雑で、数学的に任意であると思います。あなたがそうするように言われていない限り、> = 0と<0を使うことをお勧めします。そして、軸と原点も象限に含まれているとみなします。指導のためには – Boann

答えて

2

別のプログラミング言語のように動作します。あなたは戻り値を書いた場合、あなたはいくつかの値を返す必要があります)

class MethodQuad { 
public static int quadrant(double x, double y) 
{ 

    if(x > 0 && y > 0) 
    return 1; 
    else if(x < 0 && y > 0) 
    return 2; 
    else if(x < 0 && y < 0) 
    return 3; 
    else if (x<0 && y >0) 
    return 4; 
    else 
    return 0; 
    } 
} 
2

をあなたはそれがその署名ラインにダブルを返します方法を言っている:メソッドではないので

public static double quadrant(double x, double y) 

は、コンパイラはこれを好きではないだろう実際にはダブルを返す(それはすべきではない)。その行を変更して、代わりに文字列を返します。あなたはおそらくこれを行う方法を知っているでしょうか?

はまた、あなたのクラスでは、あなたは論理的な意味がありません、二重可変とする答えを宣言している:answerとして変数

double x, 
     y, 
    answer; 

どのような種類を宣言すべきですか?

編集
あなたはまた、我々はあなたがやっていることになっている正確に何を見ることができるようにあなたの割り当て手順を掲示したいと思います。あなたは潜在的にintに答えることができ、メソッドがintを返すようにすることができます - もしそれが教師が望んだものなら。彼らがあなたに何を言ったかを見てみましょう。

+1

+1;介入することについて申し訳ありません。 – trashgod

関連する問題