witam. czy moze mi ktos odpowiedziec jak uzyc while loop aby w programie mozna bylo wklepac z klawiatury nieskonczona ilosc liczb z przecinkiem a program obliczy srednia? dodam ze program powinien sie zakonczyc kiedy zostanie wklepane 0. Dzieki
0
0
Nie da się wklepać nieskończonej ilości liczb. Dla nieskończonej ilości liczb średnia jest niezdefiniowana.
Spróbuj użyć klasy Scanner.
0
powiedzmy ze moge wklepac nieskonczona ilosc liczb ktore beda sie dodawaly(np 0.1 11.1 10.3) a po wbiciu 0 program obliczy mi srednia
1
W pętle zliczaj sumę podanych liczb
oraz ilość podanych liczb
średnią oblicz po pętle.
0
Jest sposób by przy uzyciu Stream API utowrzyć stream z zesplitowanego Stringa ?
0
dzieki ale musze zostac przy loop
2
Oto ci chodzi: http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html ?
0
miszasty93 napisał(a):
Jest sposób by przy uzyciu Stream API utowrzyć stream z zesplitowanego Stringa ?
Tak, uzyj Stream.of(x.split(y)).
2
@miszasty93 sama średnio to ogarniam, ale:
import org.apache.commons.lang3.math.NumberUtils;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
// split przyklad
Stream.of("1,2,3,4".split(","))
.filter(NumberUtils::isNumber)
.mapToInt(Integer::parseInt)
.average()
.ifPresent(System.out::println);
// przyklad jak user potrafi wysłać EOF
Double avg = new BufferedReader(new InputStreamReader(System.in))
.lines()
.collect(Collectors.averagingInt(Integer::parseInt));
System.out.println(avg);
}
}
0
juz napisane.Dzieki za pomoc