isi0611のプロフィール

@isi0611 isi0611
ありがとう数151
質問数4
回答数198
ベストアンサー数
46
ベストアンサー率
34%
お礼率
100%

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

  • 登録日2005/10/21
  • 条件ループ

    お世話になります。 JAVA初心者です。 以下のようにランダムに数字をINT型で作るまではできました。 double rnd=(Math.random()); Double db=new Double(rnd*10); int i=db.intValue(); そこで質問です。 出てきた値が「0」のときは何もせず再度上記のランダムを実行して「0」以外が出たときだけ次の作業に進むというプログラムはどのようにすればよいのでしょうか。 for文やif文も多少勉強中ですがすべて次の作業へ行ってしまうためランダムを繰り返す方法が分かりません。 よろしくお願いします。

    • ベストアンサー
    • Java
    • homma
    • 回答数4
  • 配列

    最後にもう一つだけお願いします。ずっと格闘しても解決できません・・ 配列の中の数字で、偶数を全て奇数の前にもって行きます 例) {1,0,1,0,0,1,1} → {0,0,0,1,1,1,1} {3,3,2} → {2,3,3} {2,2,2} → {2,2,2} 流れとしては、まず奇数の数を数えます。これは何回シフトするから知るためです。 配列0から奇数を探し、あればそれを一番最後の配列へとシフトします。 奇数を探す作業が一度終わっても、まだシフトさせないといけない奇数があるかもしれないので(奇数が連続で並んでる場合)、最初に数えた奇数の数分だけちゃんとシフトするようにしようと思います。 public void evensLeft(int[] array) { int odd=0; for (int i = 0; i < array.length; i++) { if(array[i]%2!=0) odd++; //奇数の個数 } while (odd>0) { //奇数分シフトするためのカウント for(int j=0;j<array.length;j++){ //奇数を探す if (array[j] % 2 != 0) { odd--; //奇数のカウントを1減らす for (int k = j; k < array.length-1; k++) { //その奇数を一番最後に移動 int temp = array[k+1]; array[k+1] = array[k]; array[k] = temp; } } } } return array; } いくつかの例では動くのですが、{3,3,2}の例だと配列0に3が来てしまいます。色々変えてみても結果無理でした・・・ どなたかご教授お願いします。

    • ベストアンサー
    • Java
  • ソート

    お世話になります。配列のソートなのですが、どうも思い通りの結果になりません。 配列の中から最大値と最小値を探し、最小値を配列0に、最大値を配列の最後に移動します。その2つ以外の数字の順番は変えません。 例) {4,3,2,0,1,2} 最小値は0、最大値は4なので→{0,3,2,1,2,4} {4,3,2,1} → {1,3,2,4} {1,3,2,4,} → {1,3,2,4} 流れとしては、まず最小値を求め配列0に移動させ、次に最大値を求め配列の最後に移動させようと思います。 プログラムは以下のように組みました。 public int[] sortOfSort(int[] array) { int count_min = 0; int min = array[0]; for (int i = 0; i < array.length-1; i++) { // 最小値を求める if (min > array[i + 1]) { min = array[i + 1]; count_min++; // 最小値の配列のインデックスを確保 } } for (int k = count_min; k > 0; k--) { // 最小値の移動 int temp_min = array[k - 1]; array[k - 1] = array[k]; array[k] = temp_min; } int count_max = 0; int max = array[0]; for (int j = 0; j < array.length-1; j++) { // 最大値を求める if (max < array[j + 1]) { max = array[j + 1]; count_max++; // 最大値の配列のインデックスを確保 } } for (int l = count_max; l < array.length-1; l++) { //最大値の移動 int temp_max = array[l + 1]; array[l + 1] = array[l]; array[l] = temp_max; } return array; } 間違っているところがわかりましたら宜しくお願いします。

    • ベストアンサー
    • Java
  • くちびる西高校

    どなたか教えて下さい。 ダウンタウンのガキの使いやあらへんで の中で「私立くちびる西高校」という場所がありましたが、ロケ地はどちらでしょう? 廃校なんですかね? よろしくお願いします。

  • 超初心者。プログラムの実行ができません

    やさしいJavaという本を買ってきて、勉強しようとはじめたものの、プログラムの実行でつまずいています。いろいろと読むとpathが悪い気がするのですが、どうしたらいいのかわからないので、おわかりの方ご教授ください。 エラーメッセージ Exception in thread "main"Java.lang.NoCLassDefFoundError:Sample1 ---- PATH C:\Program Files\Java\jdk1.5.0_09\bin ---- CLASSPATH C:\Program Files\Java\j2re1.4.2_06\lib\ext\QTJava.zip;. よろしくお願いします。

    • soukai
    • 回答数3