次のプログラムで分からないところがあります。
教えてください。
[プログラムの説明]
・キーボードから入力した整数の約数(1と自分自身を除く)と約数の個数を求めて画面に表示する。
・mainメソッドで、最大100個の約数を格納する配列divを用意する。整数をinNumに入力し、クラスDivisorのメソッドfindDivisorにdivとinNumを引き渡す。
・メソッドfindDivisorでは、引き渡された整数のすべての約数(1と自分自身を除く)を求め、配列divに格納する。約数の数は、最大100個と仮定する。戻り値として、約数の個数を返す。
・mainメソッドで、findDivisorの戻り値である約数の個数と、格納されたすべての約数を画面に表示する。
[プログラム]
import java.io.*;
class Divisor{
int findDivisor(int x, int div[])} //約数を配列に格納し、約数の個数を返す
int i, n = 0;
for(i =2; < x+ i++) // (1)
if(x (2) i == 0){
div[(3)] =i;
n++;
}
}
}
class RepEx4{
pablic static void main(String[] args) throws IOException{
int inMum, count, i;
int [] div = neww int [100];
String s;
Divisor check;
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in)); //入力の準備
System.out.print("input int:");
s = br.readLine(); //文字列の入力
inNum = Integer.parseInt(s); //文字列を数値に変換
check = new (4)();
count = check.findDivisor(inNum, div);
if (count == (5))System.out.printLn("Divisor is not found);
else {
System.out.printLn("Number of divisor is " + count);
System.out.print("divisor = ");
for(i = 0; i (6)count; i++) System.out.print(div[i]+ "");
}
}
}
・プログラムあってますか?
だぶん(2)~(6)は語句が足りてないと思うのですが、何が入るのでしょうか?
また(1)のクラスDivisorのメソッドfindDivisor中のfor文
for(i = 2; i < x; i++)
を例えば
for(i =1; i <= x; i++)
に置き換えると、プログラムはどうなっちゃいますか?
・キーボード入力を24としたときの実行結果(出力画面)が下記のようになったのですが、足りない語句はなんですか?
[実行結果]
input int :24
Number of dibisor is ??????
divisor = ??????
初心者なのでつまずいてます、どうかよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
コーディングの一例です。
綴間違いと思われる箇所が数箇所ありましたので、修正してあります。
質問をする際は、よく確認してから質問しましょう。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
class Divisor{
int findDivisor(int x, int div[]) //約数を配列に格納し、約数の個数を返す
{
int i, n = 0;
/*
ある数xについて、最小の約数は2以上、最大の約数はx/2以下です。
よって、割る数iの範囲は2 <= i <= x/2 で十分です。
*/
for(i =2; i <= x/2 ; i++)
{
if(x % i == 0)
{
div[n] =i; // 約数を配列に格納
n++; // カウントをインクリメント
}
}
return n; // 約数の個数を返す
}
}
class RepEx4{
public static void main(String[] args) throws IOException{
int inNum, count, i;
int [] div = new int [100];
String s;
Divisor check;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //入力の準備
System.out.print("input int:");
s = br.readLine(); //文字列の入力
inNum = Integer.parseInt(s); //文字列を数値に変換
check = new Divisor(); // インスタンスの生成
count = check.findDivisor(inNum, div);
if (count == 0)System.out.println("Divisor is not found"); // 約数が無い場合なので、countはゼロ
else {
System.out.println("Number of divisor is " + count);
System.out.print("divisor = ");
for(i = 0 ; i < count ; i++) // 約数の個数と同じ回数、ループを回す
{
System.out.print(div[i]+ " ");
}
System.out.println();
}
}
}
No.1
- 回答日時:
補足要求です。
あなたの過去の質問に対して回答を寄せた方たちと同じなのですが,
不十分ながらも初心者のあなたが分かっている部分を書いていただけませんか。
http://okwave.jp/qa2870040.html
http://okwave.jp/qa2741133.html
http://okwave.jp/qa3299105.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java Java 配列<選挙> 4 2023/07/31 15:07
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# C言語 3 2022/11/09 13:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
Ctrl+Zが入力されると終了する...
-
数値⇒漢数字変換 java
-
Java、2の0乗~10乗の表示
-
java キーボード入力された値の...
-
7つ数字を表示したら改行すると...
-
2つのスクロールバーを連動させ...
-
Randomメソッドの確率設定
-
java 電卓のプログラム
-
javaについての質問です
-
Java キーボードから負の数が入...
-
入力データ数を入力して、その...
-
画面出力の際の繰り返しと入力...
-
階乗の式
-
論理演算子”||”またはの入力方法
-
countに実行した回数をいれたい...
-
入力された入力値と最大値、最...
-
JAVAのfor文で困っています。
-
要素数が10の配列で、乱数0~9...
-
C#の質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループ処理の際、最後だけ","を...
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
-
Randomメソッドの確率設定
-
論理演算子”||”またはの入力方法
-
テキストボックスに入力された...
-
java キーボード入力された値の...
-
countに実行した回数をいれたい...
-
Java 配列<選挙>
-
総称型ArrayList<E>への参照...
-
Java、2の0乗~10乗の表示
-
2つのスクロールバーを連動させ...
-
数値⇒漢数字変換 java
-
Java 入力した整数値の合計を、...
-
配列を逆順させて表示させる方...
-
エラー(互換性の無い型)
-
javaで数独を解くプログラムに...
-
2次元配列の並び替え
-
javaのエラーが回収できない
-
7つ数字を表示したら改行すると...
-
java 電卓のプログラム
おすすめ情報