Java: Рассчитать для цикла - PullRequest
       2

Java: Рассчитать для цикла

0 голосов
/ 09 сентября 2011

Я сейчас гуглил и сам пробовал разные методы, но безуспешно.Так что к проблеме, у меня есть этот цикл, я набираю число "n" ex.10. Затем программа считает от 1 до 10. Это цикл, который я использую.

n = Keyboard.readInt();
for(int e = 1; e <=n; e++)          
System.out.println(e);  

Это прекрасно работает, но теперь я хочу вычислить числа, показанные в цикле, так что ... Это будет 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9+10 (если «n» было выбрано в качестве числа 10), и оно должно дать расчет этого, так что будет сказано: 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55.

Было бы здорово, если бы кто-нибудь здесь мог помочь мне.

Заранее спасибо,

Майкл.

Ответы [ 7 ]

15 голосов
/ 09 сентября 2011

Вы можете сделать это трудным или легким путем:

  1. Сложный путь: Держите промежуточную сумму и добавляйте к ней внутри цикла.

  2. Простой способ: Обратите внимание, что искомая сумма равна n*(n+1)/2 (что легко доказать ).

6 голосов
/ 09 сентября 2011
StringBuilder buffer = new StringBuilder();
int n = Keyboard.readInt();
int sum = 0;

for ( int e = 1; e <=n; e++ )
{
  buffer.append( "+ " + e );
  sum += e;
}

System.out.println( buffer.substring( 2 ) + " = " + sum ); 
5 голосов
/ 09 сентября 2011

Сделай так:

   public static void main(String[] args) {
        int n = 10;
        int sum = 0;
        for(int e = 1; e <=n; e++)          
            sum = sum + e;
        System.out.println(sum);
    }
5 голосов
/ 09 сентября 2011
int sum = 0;

for(int e = 1; e <=n; e++)
{
    sum += e;
}

System.out.println(sum);
2 голосов
/ 09 сентября 2011

Используйте другую переменную для накопления результатов.

1 голос
/ 09 сентября 2011

Попробуйте это:

n = Keyboard.readInt();
int total = 0;
StringBuilder arith = new StringBuilder();

for(int e = 1; e <=n; e++) { 
   total += e;
   arith.append(e + (e < n? "+" : ""));
}

arith.append("=" + total);
System.out.println(arith.toString()); 
1 голос
/ 09 сентября 2011

Мне хочется кормить ложкой, вот код:

public static void main(String args[]) {
    int n = Keyboard.readInt();
    int total = 0;
    for (int i = 1; i <= n; i++)
        total += i;
    System.out.println(total);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...