0

プログラムが途中で終了する理由を調べようとしています。ガロンからリットルへの変換方法は正常に実行されますが、そこで停止します。「ルート」メソッドを実行しません (その目的は、1 ~ 100 の平方根を計算することです)。これはセマンティクスよりもフォーマットの問題だと思います。ご協力ありがとう御座います。

package gallons.to.liters;  

public class converter {                    
public static void main(String args[]) {    
    double gallons;                          
    double liters;          

    gallons = 10;
    liters = gallons * 3.7854;

    System.out.println("The number of liters in " + gallons + " gallons is " + 
            liters);
    System.out.println();

}


public static void root(String args[]) {
    double counter;
    double square;

    square = 0;
    counter = 0;

    for(square = 0; square <= 100; square++); 
        square = Math.sqrt(square);
        counter++;
        System.out.println("The square root of " + counter + " is " +  
                    square);



}       
}
4

4 に答える 4

1

メソッドを呼び出すことはありませんroot。これをメインに追加します:

public static void main(String args[]) {    
    double gallons;                          
    double liters;          

    gallons = 10;
    liters = gallons * 3.7854;

    System.out.println("The number of liters in " + gallons + " gallons is " + 
            liters);
    System.out.println();

    root(args); // ADD to call the method.
}
于 2013-03-28T15:27:34.777 に答える
0

に呼び出しを追加する必要があります

root(args)

あなたの方法にはいくつかの問題がありましたが、私は解決しましたが、以下の修正版を見つけてください

 public static void root( String args[] )
    {
        double counter;
        double square;

        square = 0;
        counter = 0;

        for ( counter = 0; counter <= 100; counter++ )
        {
            square = Math.sqrt( counter );
            System.out.println( "The square root of " + counter + " is " + square );
        }

    }
于 2013-03-28T15:33:00.323 に答える
0

root(args);メソッドを呼び出す行を追加します。

メインメソッドが何であれ、メインメソッドの最後まで呼び出されます。Java は、人間が最初から最後まで読み取るように .java ファイルを実行しません。メインメソッドに存在する行のみを呼び出します。行を含むメイン メソッドは、プログラミング ルールに従って静的または非静的な他のメソッドを呼び出すことができます。これらすべての概念を理解する最善の方法は、OOP を学ぶことです。「 Head First core java 」の本を2 冊購入してください。1 冊はあなた用、もう 1 冊は友人用です。

public static void main(String args[]) {
        double gallons;
        double liters;

        gallons = 10;
        liters = gallons * 3.7854;

        System.out.println("The number of liters in " + gallons + " gallons is " + liters);
        System.out.println();
        root(args);  //call this method here as per your expection of the output

    }
于 2013-03-28T15:33:11.137 に答える
0

public static void main(String args[])Java プログラムのエントリ ポイントとしてのみ JVM を呼び出します。

実際にはroot、メソッド内でmainメソッドを呼び出すことはありません。メソッドのステートメントを実行するには、このメソッドを呼び出しrootます。

このように呼び出します。

public static void main(String args[])
{
   ........
   root();
}

メソッドで渡すパラメーターの使用法がないことがわかりましたroot。だからそれを削除します。

for(square = 0; square <= 100; square++); 

for ループの最後にあるセミコロンを削除します。

public static void root() {
    double counter = 0;
    for(counter= 0; counter <= 100; counter++) {
        System.out.println("The square root of " + counter + " is " +  Math.sqrt(counter));
    }
} 
于 2013-03-28T15:31:26.890 に答える