• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Używanie funkcji Scanner w Java

VPS Starter Arubacloud
0 głosów
799 wizyt
pytanie zadane 21 lutego 2019 w Java przez Metarinda Użytkownik (740 p.)

Witam, 

mam napisany program, ale nie potrafię zapisać kodu tak, aby użytkownik móg podać dane, program wg nie chce zapisywać tych danych, albo już nie wiem co.

Przy użyciu klasy Scanner zmodyfikuj klasę Nauczyciel tak, aby dane były pobierane od użytkownika w trakcie wykonywania programu. Wykorzystaj wprowadzone dane oraz konstruktor czteroargumentowy do stworzenia ucznia

Klasa Uczen

package lista;

public class Uczen {
	//zadanie pierwsze
	public String imie;
	public static int numerKursu = 12;
	public final int Rok = 2000;  //zadanie 5
	private int ocena;
	private String Kolor;
	
	public void setKolor(String Kolor)
	{
		this.Kolor = Kolor;
	}
	public String getKolor()
	{
		return Kolor;
	}
	
	public int getnumerKursu()
	{
		return numerKursu;
	}
	
	public int getRok()
	{
		return Rok;
	}
	//zadanie 4
	public void setOcena(int ocena)
	{
		if (ocena>=2 & ocena<=5)
		{
		this.ocena = ocena;
		}
		else
		{
			System.out.println();
		}
		
	}
	public int getOcena()
	{
		return ocena;
	}
	
	
	public void setImie(String imie)
	{
		this.imie = imie;
	}
	
	public String getImie()
	{
		return imie;
	}
	
	//zadanie 6
	
	public Uczen() {}
	
	public Uczen(String imie )
	{
		setImie(imie);
	}
	
	public Uczen(String imie, int ocena )
	{
		setImie(imie);
		setOcena(ocena);
	}
	
	public Uczen(String imie, int ocena, String Kolor)
	{
		setImie(imie);
		setOcena(ocena);
		setKolor(Kolor);
		getRok();
	}
	
	public void wyswietl()
	{
		//System.out.println("Uczen 1");
		System.out.println(getImie());
		System.out.println("Numer kursu " + getnumerKursu());
		System.out.println("Rok " + getRok());
		System.out.println("Ocena " + getOcena());
	}
	
}


oraz klasa Nauczyciel

package lista;
import java.util.Scanner;

public class Nauczyciel {

	public static void main(String[] args) 
	{
		Scanner odczyt = new Scanner(System.in); //obiekt do odebrania danych od użytkownika
		Uczen uczen1 = new Uczen();
		Uczen uczen2 = new Uczen();
		
		// zadanie drugie
		
		uczen1.imie ="Iza";
		uczen2.imie ="Raf";
		
		//uczen1.numerKursu = 15;
		//uczen1.rok = 1;
		uczen1.setOcena(5);
		
		//uczen2.numerKursu = 12;
		//uczen2.rok = 2;
		uczen2.setOcena(4);
		
		
		/*//zadanie 3
		System.out.println("Uczen 1");
		System.out.println("Imie " + uczen1.imie);
		System.out.println("Numer kursu " + Uczen.numerKursu);
		System.out.println("Rok " + uczen1.rok);
		System.out.println("Ocena " + uczen1.getOcena());
		
		System.out.println(" ");
		
		System.out.println("Uczen 2");
		System.out.println("Imie " + uczen2.imie);
		System.out.println("Numer kursu " + Uczen.numerKursu);
		System.out.println("Rok " + uczen2.rok);
		 ("Ocena " + uczen2.getOcena());
		*/
		
		uczen1.wyswietl();
		uczen2.wyswietl();
		

//w tym miejscu powwninam zmodyfikować tą klasę, ale nie wiem jak

		System.out.println("Podaj imie: ");
		Uczen uczen3 = new Uczen(odczyt.nextLine());
		//Uczen uczen4 = new Uczen(odczyt.nextLine(),odczyt.nextInt());
		//Uczen uczen5 = new Uczen(odczyt.nextLine(),odczyt.nextInt(),odczyt.nextLine());
		
		
		System.out.println("cos" + uczen3);
		//System.out.println("cos" + uczen4);
		//System.out.println("cos" + uczen5);
		
		
		odczyt.close();
		
	}

}

 

1 odpowiedź

+1 głos
odpowiedź 22 lutego 2019 przez Szlugas Użytkownik (800 p.)
System.out.println("Podaj imie ucznia 3: ");
Scanner odczyt1 = new Scanner(System.in);
Uczen uczen3 = new Uczen(odczyt1.nextLine());

System.out.println("Podaj imie ucznia 4: ");
Scanner odczyt2 = new Scanner(System.in);
System.out.println("Podaj ocene ucznia 4: ");
Scanner odczyt3 = new Scanner(System.in);
Uczen uczen4 = new Uczen(odczyt2.nextLine(), odczyt3.nextInt());

Za każdym razem musimy stworzyć nowy obiekt Scanner, jeśli chcemy wczytać coś z klawiatury. Identycznie będzie z Uczniem 5.

komentarz 22 lutego 2019 przez Metarinda Użytkownik (740 p.)
Ok, dzięki, ale jak teraz wyświetlić to co podał użytkownik?
komentarz 22 lutego 2019 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)

W klasie uczen zrob sobie metode toString()

public String toString() {
        return "Uczen{" +
                "imie=" + imie +
                ", numerKursu='" + numerKursu+ '\'' +
                ", ocena=" +ocena+
                '}';
    }

A potem w metodze main wywolaj ta metode 

System.out.println(uczen1.toString());

 

komentarz 22 lutego 2019 przez Metarinda Użytkownik (740 p.)

Ok, ale teraz mam problem, z tym uczen5, nie mogę wpisać wszystkich możliwości 

Scanner odczyt1 = new Scanner(System.in);
		Uczen uczen5 = new Uczen(odczyt1.nextLine(),odczyt1.nextInt(),odczyt1.nextLine());
		

chce tutaj wpisac: imie, ocene, oraz kolor, mogę wpisać tyko dwa pierwsze. Co mogę z tym zrobić?

komentarz 25 lutego 2019 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)
Podeślij mi cały kod na priv (lub mozesz wstawić tutaj) :)

Podobne pytania

0 głosów
0 odpowiedzi 933 wizyt
pytanie zadane 3 grudnia 2018 w Java przez MarioB Nowicjusz (120 p.)
0 głosów
1 odpowiedź 351 wizyt
pytanie zadane 30 sierpnia 2018 w Java przez michaljbjj Początkujący (460 p.)
0 głosów
1 odpowiedź 642 wizyt
pytanie zadane 13 lipca 2018 w Java przez pionas0407 Gaduła (4,620 p.)

93,025 zapytań

141,990 odpowiedzi

321,292 komentarzy

62,371 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...