2017-04-01 6 views
0

を拡大どのように出力:逆出力に私にこのような出力与えるべき<strong>逆拡大合計</strong>、私が欲しいの和

リバース拡大合計: 出力逆に拡大合計を。たとえば 、ユーザーがあなたのプログラムが出力する必要があり、7を入力した場合:私は使用

public static int printSum(int n, boolean reverse) { 
    int sum = 0; 
    String s = ""; 
    for(int i = 1; i < n+1; i--) { 
     sum += i;//was = 
     //System.out.print(i + "+"); 
    } 
    for(int i = 1; i <n; i--) { 
     s =String.valueOf(i); 
     System.out.print(s + "+"); 
    } 
    //System.out.print(i); 

    System.out.print(n + "=" + sum); 
    return sum; 
} 

7+6+5+4+3+2+1=28 

次のコードは、+-12+-13形式で代わりに私にノンストップの出力を与えています明細書のmainメソッドをprintSumメソッドと呼びます:

+0

は、私は非常にお勧めエリックリペットの「[小さなプログラムをデバッグする方法](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)」単離する上でアドバイスこのようなバグ。ヘルプセンターの[ask]の一番下にリストされているいくつかの優れた記事の1つです。 [mcve]を提供するプロセスは、あなたがそれを尋ねる前にあなたの問題を解決しているかもしれません。 (他に何もない場合は、実際には 'reverse'パラメータを実際に使用していないことが明らかになりました)。 –

答えて

1

は、私はあなたのロジックがある程度正しいと仮定「正の整数を入力します\ n」は、これはあなたはそれが唯一与えられた正の整数をとると仮定すると、画像にリンク何を考えて

public static int printSum(int n) { 
     int sum = 0; 
     for(int x = 0; x < n; x++){ 
      sum += n - x; 
      if(x != n - 1){ 
       System.out.print((n - x) + "+"); 
      } 
      else{ 
       System.out.print((n - x) + "=" + sum); 
      } 
     } 
     return sum; 
    } 
-1

。これを試して。

public static int printSum(int n, boolean reverse){ 

    int sum = 0; 
    for(int i = n ; i>0 ; i--){ 
    sum += i; 
    if(i > 1){ 
     System.out.print(i + "+"); 
    }else{ 
     System.out.print(i); 
    }  
    } 
    System.out.print(n + "=" + sum); 
    return sum; 
} 
関連する問題