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

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

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

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

Q&A

解決済

1回答

358閲覧

int a[] と int b[] に格納された数字を照合したい。

Nerd_run.

総合スコア60

Java

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

0グッド

0クリップ

投稿2018/03/27 20:35

編集2018/03/27 21:09

照合の仕方がわかりません。
number[]の中に乱数でとった10個の数字を格納していて、
number2[]には5個の数字を入力できます。

number2[]が入力を受け取ったあと、
number[]とnumber2[]に同じ数字があるかを照合し、
何個trueがあったのかをint aに出力したいです。

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

java

1import java.util.*; 2 3public class hoge { 4 public static void main( String[] args ){ 5 Random rnd = new Random(); 6 for( int i = 0; i < 10; i++ ){ 7 int number[] = new int[10]; 8 number[i] = rnd.nextInt( 20 ); 9// System.out.println( number[i] ); 10 } 11 12 System.out.println(); 13 14 Scanner sc = new Scanner( System.in ); 15 int number2[] = new int[ 5 ]; 16 for( int k = 0; k < 5; k++ ){ 17 number2[k] = sc.nextInt(); 18// System.out.println( number2[k] ); 19 } 20 int a = 0; 21 } 22} 23 24

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

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

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

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

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

guest

回答1

0

ベストアンサー

試しに実装してみました。こんな感じでいかがでしょうか。
それぞれの入力に重複はゆるされるのか、その場合はどうするのかというのは気になりますがそれらはとりあえず考えずで。

java

1import java.util.*; 2 3public class hoge { 4 public static void main() { 5 Random rnd = new Random(); 6 7 // スコープをfor文の外に出す 8 // number2との照合ができるようにするため 9 int number[] = new int[10]; 10 11 for( int i = 0; i < 10; i++ ) { 12 number[i] = rnd.nextInt(20); 13 } 14 15 // 先に定義しておくことで変更があるときにすぐに反映されるようにする 16 int a = 0; 17 18 Scanner sc = new Scanner( System.in ); 19 20 for( int j = 0; j < 5; j++ ) { 21 int target = sc.nextInt(); 22 for (int num : number) { 23 if (num == target) { 24 a += 1; 25 } 26 } 27 } 28 System.out.println(a); 29 } 30}

投稿2018/03/27 22:38

編集2018/03/27 22:39
shogiOtakku

総合スコア123

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

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

Nerd_run.

2018/03/28 00:02

回答ありがとうございます! 動作してみたところ、無事照合できました。 もう一つお聞きしたいのですが、 int num はどうなっているのでしょう? コンソールに表示してみたところ、numberの値が表示されるのですが、 なぜかわかりません。 差し支えなければ、numがどうなっているのか教えていただければ幸いです。
shogiOtakku

2018/03/28 00:26 編集

```java for (int num : number) { if (num == target) { a += 1; } } ``` のnumberは ```java int number[] = new int[10]; for( int i = 0; i < 10; i++ ) { number[i] = rnd.nextInt(20); } ``` で定義したnumberを使っています。 この書き方はforeachと検索すると詳しいことがしれますが、簡単に説明すると 配列であるnumberから一つずつint numに代入してfor文をまわしているものになります。
Nerd_run.

2018/03/28 00:36

なるほど、理解できました! 詳しくありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問