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

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

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

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

Q&A

解決済

2回答

397閲覧

Java コードに書いてないものが出力される

odaji

総合スコア1

Java

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

0グッド

0クリップ

投稿2022/05/01 16:43

入力された整数以下の3の倍数と10で割って余りが3になる整数を出力するコードを以下のように書きました。

Java

1import java.util.Scanner; 2 3class Main{ 4 public static void main(String[] args){ 5 Scanner sc = new Scanner(System.in); 6 int n = sc.nextInt(); 7 for(int i = 1; i <= n; i++){ 8 if(i%3 == 0){ 9 System.out.print(" " + i); 10 continue; 11 }else if((i%=10) == 3){ 12 System.out.print(" " + i); 13 } 14 } 15 } 16}

これを実行すると、10の位が3の整数(31,32、・・・39)が出力されてしまいます。
どこを改善すればよいでしょうか。

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

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

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

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

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

jimbe

2022/05/01 17:02 編集

n=20 としましたら 「 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6 9 3 6  ・・・・・・・・・」 「10の位が3の整数(31,32、・・・39)」どころか、無限ループしますが。
guest

回答2

0

}else if((i%=10) == 3){

ここで、iの値が変わってしまっているのはわかるでしょうか

投稿2022/05/01 21:10

y_waiwai

総合スコア87774

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

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

odaji

2022/05/01 22:17

すみません、もう少し詳しく説明していただきたいです。 よろしくお願いします。
y_waiwai

2022/05/01 22:58

i%=10 と言う文は、i を10で割った余りを、iに代入する、と言う式です
guest

0

ベストアンサー

Java

1//}else if((i%=10) == 3){ 2}else if((i%10 == 3){

ではないかと。

投稿2022/05/01 17:05

cx20

総合スコア4633

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

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

cx20

2022/05/01 23:28

y_waiwai さんの説明にあるように 「i%=10」は「i = i % 10」 と同じ意味になります。 つまり「i」の値が変わってしまっている為に予期しない動作になっています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問