Program liczący średnią, gdzie użytkownik decyduje kiedy chce poznać średnia z podanych przez siebie liczb. Jest to program podobny do tego który wcześniej wrzucałem (pierwszy był zrobiony na tablicach). Chciałem Was się spytać czy poniższy kod jest napisany prawidłowo zgodnie z zasadami, za wszelkie uwagi z góry dziękuje :)
public class Srednia {
public void menu(){
System.out.println("s - licz średnia dla podanych przez liczb\n"
+ "k - zakończ program");
}
public String readOpcja(){
Scanner odczyt = new Scanner(System.in);
return odczyt.nextLine();
}
public double readLiczba(){
Scanner odczyt = new Scanner(System.in);
return odczyt.nextDouble();
}
public void checkOpcja(){
String b = readOpcja();
if(b.equalsIgnoreCase("s")){
countLiczba();
}else if(b.equalsIgnoreCase("k")){
System.out.println("Program zakończony");
}else {
System.out.println("Podano błędna wartość spróbuj ponownie");
menu();
checkOpcja();
}
}
public void countLiczba(){
double suma =0;
double liczba =0;
int i=-1;
do{
System.out.println("Podaj pierwszą / następna liczbę\n"
+ "lub wpisz 0 by obliczyc srednia z juz podanych przez Ciebie liczb");
liczba = readLiczba();
suma+= liczba;
++i;
}
while(liczba!=0);
System.out.println("Średnia z podanych liczb wynosi: "+(suma/i));
}
}
public class Program {
public static void main(String[] args) {
Srednia sr = new Srednia();
sr.menu();
sr.checkOpcja();
}
}