2016-03-25 17 views
0

Uzun bir süre Java uygulamayın, böylece herhangi bir yardımın takdir edilmesi gerekir.Kullanıcının dizinin boyutunu almak için bir sayı girmesini istemek için nasıl kullanılır. Ardından, kabarcık sıralama yöntemini kullanarak diziyi sıralayın

Sınıf projesi için, kullanıcının bir sayı girmesini ve bir dizinin boyutunu oluşturmasını isteyen bir program oluşturmanız gerekir. Girdikten sonra, sıralanmadan önce sayıların listesini ve baloncuk sıralama algoritması kullanılarak sıralandıktan sonraki listeyi göstereceğiz.

Şimdiye dek sahip olduğum şeyler. Bir kod parçasını kaçırdığımı biliyorum, böylece listeyi hem sıralamadan önce hem de sonra yazdırabilirim, ama kayboldum.

import java.util.Scanner; 
public class Part1BubbleSort 
{ 
public static void main(String[] args) 
{ 
    //int temp = 0; 

    Scanner scan = new Scanner(System.in); 
    int z = scan.nextInt(); 
    int [] array = new int[z]; 
    System.out.print("Please enter a number to create array."+"\n"); 
    z = scan.nextInt(); 

    //Bubble Sort 
    for(int i = array.length-1; i>=0; i--) 
    { 
     for(int j=0; j<i; j++) 
     { 
      if(array[j] > array[j+1]) 
      { 
       int temp = array[j]; 
       array[j] = array[j+1]; 
       array[j+1] = temp; 
      } 
     } 
    } 
} 
+0

, ilki Tamam ama ikinci z hiçbir zaman kullanılmaz boyutudur. Eğer kullanıcının dizi elemanlarını da girmesini istiyorsanız, o zaman diziyi [i] = scan.nextInt(); 'for döngüsünde i: 0-> z. Bir dizi basmak için 'Arrays.toString (array);' –

+0

kullanabilirsiniz! Bunu işaretlediğiniz için teşekkürler ... özellikle iki giriş. –

cevap

0

aşağıdaki şekilde yapabilirsiniz: Yalnızca girdi olarak iki sayı alıyor

import java.util.Arrays; 
import java.util.Scanner; 
import java.util.Random; 
public class BubbleTest { 

    public static void main(String[] args) { 
     Scanner scan = new Scanner(System.in); 
     System.out.println("Please enter a number to create array."+"\n"); 
     int z = scan.nextInt(); 
     int [] array = new int[z]; 
     // Randomly generating array elements 

     for(int i =0; i<z; i++){ 
      array[i]=new Random().nextInt(); 
     } 
     // z = scan.nextInt(); 
     System.out.println("Unsorted:"); 
     System.out.println(Arrays.toString(array)); 


     //Bubble Sort 
     for(int i = array.length-1; i>=0; i--) 
     { 
      for(int j=0; j<i; j++) 
      { 
       if(array[j] > array[j+1]) 
       { 
        int temp = array[j]; 
        array[j] = array[j+1]; 
        array[j+1] = temp; 
       } 
      } 
     } 

     System.out.println("sorted:"); 
     System.out.println(Arrays.toString(array)); 
    } 

} 
+0

Büyük yardım. Teşekkür ederim! Kodun rastgele elemanlar üretmesini deneyeceğim ama bu kesinlikle beni doğru yönde işaret etti. –

+0

Rastgele sayı oluşturmak için Rastgele sınıfını kullanabilirsiniz. Örneğin, Rastgele r = yeni Rastgele(); dizisi [i] = r.nextInt(); Diziyi rastgele doldurmak için – CrawlingKid

+0

kodu güncellenir. – CrawlingKid

İlgili konular