質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

829閲覧

1,3,5,7,9 の合計を出そうとしてエラー

java_beginner10

総合スコア13

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2018/10/11 10:04

前提・実現したいこと

1,3,5, 7,9 の合計を出したい。

発生している問題・エラーメッセージ

/HelloWorld.java:4: error: not a statement for (int i=1; i <= 9; i+2 ) { ^ 1 error

該当のソースコード

public class HelloWorld { public static void main(String args[]) { int goukei = 0; for (int i=1; i <= 9; i+2 ) { goukei = goukei + i; } System.out.println(goukei); } }

試したこと

JAVAの学習をはじめたものです。1から10までの合計を出すプログラムは書けました。
次にそれを修正して1はじまりで9までの奇数だけを合計するように
したいんですが、エラーが出てしまいました。

エラメッセージ見るとi+2 がおかしいらしいですが、どうすればいいでしょうか?

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

代入する形式にしないといけません。
つまり、i += 2 あるいは i = i+2 です。

投稿2018/10/11 10:05

LouiS0616

総合スコア35658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

java_beginner10

2018/10/11 10:08

ありがとうございます! ちゃんと合計できました!
guest

0

いろいろな書き方をしてみました。

java

1package teratail; 2 3import java.util.stream.IntStream; 4 5public class HelloWorld { 6 public static void main(String args[]) { 7 int goukei = 0;; 8 for (int i = 1; i <= 9; i++, i++) { 9 goukei += i; 10 } 11 System.out.println(goukei); 12 13 goukei = 0; 14 for (int i = 1; i <= 9; i++) { 15 if (i % 2 != 0) { 16 goukei += i; 17 } 18 } 19 System.out.println(goukei); 20 21 goukei = 0; 22 for (int i = 1; i <= 9; i++) { 23 goukei += i * (i % 2); 24 } 25 System.out.println(goukei); 26 27 goukei = 0; 28 for (int i = 0; i <= 9 / 2; i++) { 29 goukei += i * 2 + 1; 30 } 31 System.out.println(goukei); 32 33 goukei = IntStream.range(1, 10).filter(i -> (i % 2) != 0).sum(); 34 System.out.println(goukei); 35 36 goukei = IntStream.range(1, 10).map(i -> i * (i % 2)).sum(); 37 System.out.println(goukei); 38 } 39}

から10までの合計を出すプログラムからの発展なら、
l++ を i++, i++ とするとか、 i+=2 ですね。
でも for のループ中で if で条件判定させたり、偶数なら 0 を足すようにするといった方法もあります。
今は難しいかもしれませんが、Strem をつかった方法もあります。

投稿2018/10/11 13:03

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

swordone

2018/10/11 13:19

便乗 Java9で追加された継続条件付きiterateを使って IntStream.iterate(1, i -> i < 10, i -> i + 2).sum();
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問