2016-04-11 17 views
0

Birkaç saat sonra, ortalamanın çıktısını almak için bir yöntem yapma konusunda ilerleme kaydetmedim. Ayrıca bir sıralama dersi yapmam gerek. Genel olarak, ödev ihtiyacı var. Belirleyin yazdır çift Bir ortalama ve sıralama yöntemi çıktılamak için tarayıcı sınıfını kullanarak Java dizisi yardımına ihtiyacınız var

  • ortalama değerini hesaplayın en düşük değere (
  • diziyi sıralar
  • yüksek değeri
  • belirleyin dizi

    • 'Ana' yöntemiyle:

      için yöntemler geliştirin)


    Bu ortalama bulmak için yardımcı olacaktır
    import java.util.Scanner; 
    
    public class Arrayassignment { 
    
    public static void main(String[] args) { 
        Scanner sin=new Scanner(System.in); 
    
    System.out.println("Enter an intiger for array size."); 
    
    int number= sin.nextInt(); 
    
    int array[]=new int[number]; 
    
    System.out.println("Array size " + number + " initiated.\n"); 
    
    
    System.out.println("Now enter the array intigers"); 
    for (int i = 0; i < number; i++) 
    { 
        array[i]=sin.nextInt(); 
    
    } 
    
    System.out.println ("The highest number in the array is " + max (array)); 
    System.out.println ("The smallest number in the array is " + min (array)); 
    //System.out.println ("The average of the numbers in the array is " ; 
    } 
    public static int max (int ... arg) 
    { 
    if (arg.length == 0) 
    { 
        System.out.println(" empty arguement list ") ; 
        return 0; 
    } 
    int largest = arg [0]; 
    for (int i = 1; i < arg.length; i++) 
    { 
        if (arg [i] > largest) 
         largest = arg[i]; 
    } 
    return largest; 
    } 
    
    public static int min (int ... arg) 
    { 
    if (arg.length == 0) 
    { 
        System.out.println(" empty arguement list ") ; 
        return 0; 
    } 
    int smallest = arg [0]; 
    for (int i = 1; i < arg.length; i++) 
    { 
        if (arg [i] < smallest) 
         smallest = arg[i]; 
    } 
    return smallest; 
    
  • +1

    gibi IntStream ve IntSummaryStatistics kullanabilirsiniz 8+? –

    +0

    Buradaki asıl sorunun nedir? Tek görebildiğim, 'min' ve 'max' ....' ı hesaplayan kod ve kalan gereksinimleri karşılamak için NO ATTEMPT. –

    +0

    Ortalama bir yöntem için bir şeyler yapmaya çalıştım ama kendimi kandırmaya devam ediyorum. Denedim/* genel statik çift avg (çift ... arg) { çift toplam = arg [0]; için (int i = 0; i sjames14

    cevap

    0
    int sum = 0; 
    for (int d : arg) sum += d; 
    double average = 1.0d * sum/arg .length; 
    

    ...

    +1

    Hey çocuklar - ona yardım etmiyorsunuz >> onunla ödevini yaparak << öğren! –

    +0

    Ardından soruya verilen cevapta düşüş var ... neden cevapta? Ve aynı zamanda çözmeyi denedi ... –

    +0

    Çevrimiçi bir öğrenciyim ve bu benim ilk defa yardım için uzanıyor, bu büyük bir anlaşma olmamalı. – sjames14

    0

    min bulmak sıralamak için ve max Eğer TreeSet toplama sınıfını kullanabilirsiniz. İlkel tür veya sarıcı sınıfı kullanıyorsanız, bu durumda herhangi bir karşılaştırma mantığı eklemenize gerek yoktur. aksi halde karşılaştırıcı veya karşılaştırılabilir yöntemler uygulamanız gerekir. Min ve maksimum veri http://www.programcreek.com/2009/02/a-simple-treeset-example/ için TreeSet bir örneğidir. Ortalama hesaplamak için yerel bir değişken kullanabilir ve TreeSet'e bir sayı eklediğinizde, ortalamayı güncelleyebilirsiniz. Örneğin, geçerli ortalama v değerine yeni bir sayı p eklediğinizde, en son ortalaması v = (v * boyut + p)/++ boyut olarak hesaplayın;

    Java'da
    +0

    TreeSet öğesini tarayıcı girdisiyle yapabileceğimi sanmıyorum. – sjames14

    0

    Eğer tam olarak şimdi sıkışmış

    int[] arr = { 3, 1, 2 }; 
    IntSummaryStatistics stats = IntStream.of(arr).summaryStatistics(); 
    System.out.printf("Min: %d, Max: %d, Average: %.2f%n", // 
         stats.getMin(), stats.getMax(), stats.getAverage()); 
    IntStream.of(arr).sorted().forEach(System.out::println); 
    
    İlgili konular