[JAVA] Tworzenie nowych typow int ze Stringu


(gubermaniak) #1

Witam. Nie wiem jak zrobić, żeby liczby z zmiennej typu String były dodane jako typ int.
Poniżej kod który napisałem:

String wprowadz;
Scanner wpisane = new Scanner(System.in);
wprowadz = wpisane.nextLine();
Scanner tekst = new Scanner(wprowadz);
while(tekst.hasNextInt()){
int A = tekst.nextInt();
System.out.println(A);
}

program pobiera tekst i dzieli go na liczby, które wypisuje następnie po kolei. Jak zrobić, żeby każdej liczbie przypisać typ int?
np jak wprowadzę liczby 3 5 7 8 to żeby program przypisał
int A = 3;
int B = 5;
int C = 7;
int D = 8; itd


(Fizyda) #2

Po co dwa razy tworzysz scanner? Chcesz je podać w jednej linii czy możesz podawać osobno i zatwierdzać enterem każdą z osobna?
Tutaj masz przykład pobierania liczby typu int wprowadzanej przez usera w konsoli: https://stackoverflow.com/questions/2506077/how-to-read-integer-value-from-the-standard-input-in-java


(gubermaniak) #3

Wpisuję oddzielając spacją. Dałem dwa Scannery, bo jednym nie umiem tego napisać


(Fizyda) #4

A to jest wymóg by podawać je oddzielone spacjami czy to Twój wymysł?


(gubermaniak) #5

W poleceniu jest tak: Napisać program, który pobiera od użytkownika ciąg liczb całkowitych.
Przykład:
Użytkownik podał ciąg: 1, -4, 2, 17, 0


(Fizyda) #6

Rozumiem, że długość tego ciągu jest nieznana i jest zmienna?


(gubermaniak) #7

Nie jest określone jak użytkownik podaje liczby, ale tutaj są one w jednej linii. Próbowałem jeszcze zrobić tablice String też nie wychodzi.


(gubermaniak) #8

Długość nie jest znana. Gdyby była znana to można by pętlą.


(Fizyda) #9

Nawet jak długość nie jest znana można to zrobić pętlą, zresztą i tak pętlę będziesz potrzebował.

Dobra, więc tak, jeśli chcesz to wprowadzać jako jeden string to początek zostawiasz jak jest czyli wczytujesz stringa. Następnie stringa dzielisz na podstringi zawierające poszczególne liczby - https://stackoverflow.com/questions/3481828/how-to-split-a-string-in-java. Teraz sprawdzasz długość tej tablicy i tworzysz nową przechowującą dane typu int, w pętli przy pomocy - https://www.tutorialspoint.com/java/number_parseint.htm konwertujesz każdą liczbę z tablicy z substringami na typ int i zapisujesz do Twojej tablicy.
Na koniec robisz jakieś operacje na tych liczbach które są w tablicy przechowującej dane typu int.


(gubermaniak) #10

Dzięki za pomoc. Spróbuje tak zrobić.


(Fizyda) #11

Jak coś pisz :wink:
Rozwiązania i pseudo codu specjalnie nie daję abyś miał co porobić i zrozumiał o co w ogóle chodzi.