Ósma prezentacja do kursu „Wstęp do programowania”.
Treść: Metody – metody, parametry, zwracane wartości
Ta strona jest częścią starego kursu Javy. Nowy kurs, pt. “Programowanie w Javie z elementami bioinformatyki dla poczatkujących”, jest znacznie rozszerzony i dostosowany fo Javy 8. Jego forma jest także znacznie bardziej przystępna dla korzystających wyłącznie z treści on-line. Dostępne materiały znajdziesz tutaj.
Aktualizacja (2012-04-25): Poprawiłem prezentację i kod klasy Statystyka
, tak aby uwzględniały dane typu double
.
Prosta metoda
Tworzenie i użycie metody łączącej dwa łańcuchy znaków.
public class Slowa { public static void main(String[] args) { String imie = "Adam"; String nazwisko = "Słodowy"; String imieOrazNazwisko = podajImieOrazNazwisko(imie, nazwisko); System.out.println(imieOrazNazwisko); } private static String podajImieOrazNazwisko(String slowo1, String slowo2) { String polaczone = slowo1+" "+slowo2; return polaczone; } }
Zadanie
Program pobierający dane i wykonujące niektóre obliczenia dla podanych danych.
import java.util.Scanner; public class Statystyka { public static void main(String[] args) { String opcja =""; double[] liczby = null; Scanner skaner = new Scanner(System.in); while (!opcja.equalsIgnoreCase("k")) { wyswietlMenu(); opcja = skaner.nextLine(); if (liczby==null && !opcja.equalsIgnoreCase("k")) liczby=wprowadzNoweDane(); else if (opcja.equalsIgnoreCase("d")) liczby=wprowadzNoweDane(); else if (opcja.equalsIgnoreCase("m")) podajNajmniejszaLiczbe(liczby); else if (opcja.equalsIgnoreCase("n")) podajNajwiekszaLiczbe(liczby); else if (opcja.equalsIgnoreCase("s")) System.out.println("Średnia arytmetyczna liczb to: "+podajSredniaArytmetyczna(liczby)); else if (opcja.equalsIgnoreCase("r")) System.out.println("Suma liczb to: "+podajSumeLiczb(liczby)); else if (opcja.equalsIgnoreCase("w")) System.out.println("Wariancja dla podanych liczb to: "+podajWariancje(liczby)); else if (opcja.equalsIgnoreCase("a")) podajWszystko(liczby); else if (opcja.equalsIgnoreCase("k")) System.out.println("Koniec!"); else System.out.println("Nie rozumiem, spróbuj ponownie"); } } private static void wyswietlMenu() { System.out.println("Co chcesz zrobić?n" + "d - wprowadź nowe dane n" + "n - podaj największą liczbę n" + "m - podaj najmniejszą liczbę n" + "s - podaj średnią arytmetyczną n" + "r - podaj sumę liczb n" + "w - podaj wariancję n" + "a - podaj wszystkie powyższe n" + "k - koniec programu"); } private static double[] wprowadzNoweDane() { Scanner skaner = new Scanner(System.in); System.out.println("Podaj ile liczb chcesz wpisać "); String liczbaLiczb = skaner.nextLine(); int dlTabeli = Integer.parseInt(liczbaLiczb); double[] liczby = new double[dlTabeli]; for (int i=0; i<liczby.length; i++) { System.out.println("Podaj "+ (i+1) +" liczbę z "+dlTabeli); String liczba = skaner.nextLine(); liczby[i] = Double.parseDouble(liczba); } return liczby; } private static void podajNajwiekszaLiczbe(double[] liczby) { double max = liczby[0]; for (double l : liczby) { if (l > max) { max = l; } } System.out.println("Największa liczba to: "+max); } private static void podajNajmniejszaLiczbe(double[] liczby) { double min = liczby[0]; for (double l : liczby) { if (l < min) { min = l; } } System.out.println("Najmniejsza liczba to: "+min); } private static double podajSredniaArytmetyczna(double[] liczby) { double srednia = podajSumeLiczb(liczby)/liczby.length; return srednia; } private static double podajSumeLiczb(double[] liczby) { double sum = 0; for (double l : liczby) { sum=sum+l; } return sum; } private static void podajWszystko(double[] liczby) { podajNajmniejszaLiczbe(liczby); podajNajwiekszaLiczbe(liczby); System.out.println("Średnia arytmetyczna liczb to: "+podajSredniaArytmetyczna(liczby)); System.out.println("Suma liczb to: "+podajSumeLiczb(liczby)); System.out.println("Wariancja dla podanych liczb to: "+podajWariancje(liczby)); } private static double podajWariancje(double[] liczby) { double wariancja; double srednia = podajSredniaArytmetyczna(liczby); double sum=0.0; for (double l : liczby) { sum=sum+(l-srednia)*(l-srednia); } wariancja = sum/(liczby.length-1); return wariancja; } }
Leave a Reply
You must be logged in to post a comment.