最大100個の乱数を生成して表示するプロジェクトを行う必要があります。次に、いくつかの種類の選択(選択、バブル、挿入、シェル..)それらを並べ替える。私はすでに生成部分を行っていますが、最初のソート選択ソートに問題があります。生成され、ソートされた数字の代わりにゼロだけが表示されます。あなたのコードでより大きなプロジェクトでの選択ソートの実装
package projekt;
import java.util.Scanner;
import java.util.Random;
public class Projekt {
public static void main(String[] args) {
int[] tablica;
Scanner odczyt = new Scanner(System.in);
System.out.println("Give number of elements (max 100): ");
int liczbaElementow = odczyt.nextInt();
tablica = new int[liczbaElementow];
if (liczbaElementow <= 100 && liczbaElementow > 0){
System.out.println("Generated:");
Random Generator = new Random();
for (int idx = 1; idx <= liczbaElementow; ++idx){
int randomInt = Generator.nextInt(101);
System.out.print(" " +randomInt);
}
{
System.out.println(" ");
System.out.print("Choose sorting method (1, 2 lub 3):");
}
Scanner odczyt2 = new Scanner(System.in);
int ktoresort = odczyt2.nextInt();
switch (ktoresort) {
case 1: System.out.println("SORT 1");
{
{
int min = 0;
for(int i = 0;i<liczbaElementow;i++)
{
min = i;
for(int j = i + 1;j<liczbaElementow;j++)
{
if(tablica[j] < tablica[min]) { min = j;}
}
int temp = tablica[i];
tablica[i] = tablica[min];
tablica[min] = temp;
System.out.println(tablica[i]);
}
}
}
break;
case 2: System.out.println("SORT 2");
break;
case 3: System.out.println("SORT 3");
break;
default: System.out.println("incorrect value");
break;
}
odczyt2.close();
}
else if (liczbaElementow==0) {
System.out.println("entered 0");
}
else{
System.out.println("value is biger than 100");
}
}
}
ソリューションに私の友人を持って追加しませんか? – Ollaw
スタックオーバーフローへようこそ!私は余分な行を削除し、インデントを修正するためにあなたの質問を編集しました。あなたの問題には関係ないが、あなたがプログラマではないと言われて以来、あなたはそれによってより明白になっている不必要な括弧を持っています。可能であれば、あなたのIDEを自動インデントに設定することをお勧めします。また、 'System.out.println(" ")'、 'System.out.println()'の引数が必要なくなり、新しい行だけが出力されます。乾杯! – whrrgarbl
ありがとうございます。私は古典的な窓のメモ帳でこれを書いて始めました、そして、私の友人は日食について教えてくれました。 私は本当に新しい行を作成するためにちょうど()を入力しようとしたことはありませんでしたが、今私のコードでこれを置き換えました。それはうまくいった: – justme