2017-05-19 12 views
-4

この質問は私の問題にはかなり固有のものであり、そのため私は新しい質問を作成しています。このプログラムの2番目の方法は、番号1 2 3 4 5 6 7 8 9 10の行を作るはずです。私が抱える唯一の問題は、メインの方法でこれをどのように印刷するかわからないことです。メインメソッドからメソッドを使用するにはjava

public class Uppgift1_6a 
{ 
    public static void main(String[] args) 
    { 
     for(int k = 0; k < 10; k++) 
     { 
      int tal = Numberline(k); 
      System.out.print(tal); 
     } 
    } 

    public static int Numberline(int tal1) 
    { 
     int tal = 1; 
     for(int i = 1; i < 11; i++) 
     { 
      tal = tal1 + i; 
     } 
     return tal; 
    } 
} 

今それが11から19にすべての番号を出力しますそして、私はそれを変更した場合、それだけでプリントアウトし、10または11

+0

これは、このコードが印刷するように指示していることを正確に実行しています。たぶんあなたは最初に(そして、私たちに教えてください)正確にあなたが**この単純なコードを印刷することを期待してください。つまり、[mcve]を提供します。 – GhostCat

+0

質問から私はあなたが垂直に印刷したいと思っていますし、System.out.println(tal)を使います。または何らかの行列が必要な場合は、リストまたは2次元配列のリストを使用することができます –

+1

'Numberline'のコードを' return tal1 + 10; 'と置き換えることができます - 私はGhostCatのアドバイスを受け取り、これらの値を印刷する理由を判断する必要があります。あなたが合計値ではなく渡された値を一緒に文字列にしたいと思うようです。 –

答えて

2

はコードをよく見て:

public static int Numberline(int tal1) 
{ 
    int tal = 1; 
    for (int i = 1; i < 11; i++) 
    { 
     tal = tal1 + i; 
    } 
    return tal; 
} 

forループは文字通り何もしません。最終結果のみを返します。最終的な結果は常に正確にtal1 + 10に等しい。再び、forのループがこの点で何をしたのかは違いはありません。 (私は、あなたにその事実を自信を持って伝えるために、デバッガを使ってコードを実行することをお勧めします)。

あなたがforループを通過しているとして、それが値を印刷したい場合は、あなたのような何かをする必要があります。

for (int i = 1; i < 11; i++) 
{ 
    // You may need to modify this line too, depending on what values you want printed 
    tal = tal1 + i; 
    // Print the value here 
    System.out.print(tal); 
} 

を方法は、あなたがそれを書いたので、それだけでプリントよの最終の値はtal(返されたもの)です。

関連する問題