2017-01-31 4 views
0

メインメソッドで返されるメソッドの書式設定に少し問題があります。メソッドを作成して計算を完了しましたが、他の2つのメソッドをメインメソッドに正しく呼び出しているかどうかが問題です。また、各メソッドを列に書式設定することもあります。私は尊重された方法で列を作る必要がありますか?または私はメインメソッドでそれらを作成する必要がありますか?他のメソッドをJavaでメインに呼び出す

オブジェクトを10秒間分析するプログラムを作成します。これには、メインメソッドと2つの追加メソッドが含まれている必要があり追加のメソッドの1つは、引数として現在の秒を渡したときに、オブジェクトがメートルで表示される距離を返す必要があります。下記の式を参照してください。 3番目の方法は、メートルをフィートに変換する必要があります。あなたはオンラインで必要な変換係数を調べることができます。メインメソッドでは、1つのループを使用して他のメソッドを呼び出し、以下のようなテーブルを生成する必要があります。表は、図のように小数点以下の書式付き列で表示する必要があります。私は私が私の解決策である。ここ

SEC METERS  FEET 
1   4.9  16.1 
2  19.6  64.3 
3  44.1  144.7 
4  78.4  257.2 
5  122.5  401.9 
6  176.4  578.7 
7  240.1  787.7 
8  313.6 1028.9 
9  396.9 1302.2 
10  490.0 1607.6 

私のコード

package week4.yedkois; 

public class project3 { 

    public static void main(String[] args) { 
     System.out.printf("SEC" + "\n"); 

     meters(); 
     feet(); 

     for (int time = 1; time <= 10; time++) { 
      System.out.println(time); 

     } 

    } 

    public static void meters() { 

     double Meters; 
     double G = 9.8; // meters = .5(9.8)(seconds) ^2 
     for (int time = 1; time <= 10; time++) { 
      Meters = (.5 * 9.8 * Math.pow(time, 2)); 
      System.out.printf("%.1f\n", Meters); 
     } 

     return; 

    } 

    public static void feet() { 

     double Feet; 
     double G = 9.8; // meters = .5(9.8)(seconds) ^2 
     for (int time = 1; time <= 10; time++) { 
      Feet = (.5 * 9.8 * Math.pow(time, 2) * 3.28084); 
      System.out.printf("%.1f\n", Feet); 
     } 
     return; 

    } 

} 
+0

この問題は説明していません。 – shmosel

+0

'return;あなたの方法では冗長です。 –

+0

申し訳ありませんが、私は説明するために最善を尽くしています。 –

答えて

1

の午前と信じています。私はタブ( "\ t")を使用して、異なる値の間に同じスペースを実現します。そして、あなたのコードを少し再設計しなければなりませんでした。私はメインメソッドで直接if-loopを1つだけ使用し、現在のtime-valueをパラメータとして両方のメソッドmeters()とfeet()に渡します。これにより、1ラウンドのすべての値を一列にまとめるほうがずっと簡単になります。ここで

は、いくつかの追加の発言です:

  • JavaはC++のではありませんので、あなたは、メソッドの最後に空のreturn文を使用する必要はありません。そこには役に立たない。
  • Java変数およびメソッド名では、常に小文字の_または$で始まります。クラス名と定数だけが大文字で始まります。

これは、開始に役立ちます。

public class Project3 { 

    public static void main(String[] args){ 
     System.out.printf("%3s\t%6s\t%6s\n", "SEC", "METERS", "FEET"); 

     for(int time = 1; time <= 10; time++) 
     { 
      System.out.print(time + "\t"); 
      meters(time); 
      feet(time); 
      System.out.println(); 
     } 
    } 

    public static void meters(int time){ 
     double meters; 
     double g = 9.8; // meters = .5(9.8)(seconds) ^2 

     meters = (.5 * 9.8 * Math.pow(time, 2)); 
     // the longer the expected maximum length of a result gets 
     // the higher your reserved number of digits has 
     // to be, to gain the wanted right bound effect! 
     System.out.printf("%6.1f\t", meters); 
    } 

    public static void feet(int time){ 
     double feet; 
     double g = 9.8; // meters = .5(9.8)(seconds) ^2 
     feet = (.5 * 9.8 * Math.pow(time, 2) * 3.28084); 
     // the longer the expected maximum length of a result gets 
     // the higher your reserved number of digits has 
     // to be, to gain the wanted right bound effect! 
     System.out.printf("%6.1f", feet); 
    }  
} 
+0

先に進んでください –

+0

ありがとう! @YCF_L – DiabolicWords

関連する問題