• 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

Object Storage Arubacloud
0 głosów
761 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 818 wizyt
pytanie zadane 3 grudnia 2018 w Java przez MarioB Nowicjusz (120 p.)
0 głosów
1 odpowiedź 328 wizyt
pytanie zadane 30 sierpnia 2018 w Java przez michaljbjj Początkujący (460 p.)
0 głosów
1 odpowiedź 499 wizyt
pytanie zadane 13 lipca 2018 w Java przez pionas0407 Gaduła (4,620 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...