JAVA! Segítség! Hogy lehet ezt megvalósítani?
Van egy ELSO nevű osztályom melynek van 4 adattagja melyből az első 3 konstruktor segítségével inicializálódik egy futtatható osztályban. Az ELSO-ben van egy metódus ami a negyedik adattaggal összehasonlítja a harmadikat majd kiír egy eredményt. Ezen metódust a futtatható osztályomban meghívom és szépen ki is írja amit kell VISZONT ezután egy bekért változóval meg szeretném változtatni ezt a negyedik adattagot hogy ennek függvényében újra meghívjam és kiírja ez eredmény ami így nyilván már más lesz.
Hogy tudom ezt megcsinálni? Kell még egy konstruktor?
Wat??
Mi okoz problémát?
Megváltoztatni egy adattagot?
/*
Van egy ELSO nevű osztályom melynek van 4 adattagja melyből az első
3 konstruktor segítségével inicializálódik egy futtatható osztályban.
Az ELSO-ben van egy metódus ami a negyedik adattaggal összehasonlítja
a harmadikat majd kiír egy eredményt.
Ezen metódust a futtatható
osztályomban meghívom és szépen ki is írja amit kell VISZONT ezután
egy bekért változóval meg szeretném változtatni ezt a negyedik adattagot,
hogy ennek függvényében újra meghívjam és kiírja ez eredmény ami így
nyilván már más lesz.
Hogy tudom ezt megcsinálni? Kell még egy konstruktor?
*/
import java.util.Scanner;
public class Elso {
private final int a;
private final int b;
private final int c;
private int d = 10; //
public static void main(String[] asd) {
new Elso();
}
public Elso() {
this.a = 1;
this.b = 2;
this.c = 3;
this.osszehasonlito();
this.bekerEsModosit();
}
public void osszehasonlito() {
System.out.println((this.c > this.d) ? "c nagyobb mint d" : "c kisebb mind d");
}
public void bekerEsModosit() {
String input;
do {
Scanner keyboard = new Scanner(System.in);
input = keyboard.nextLine();
} while(this.kapottAdatEllenorzes(input));
this.d = Integer.parseInt(input);
}
private boolean kapottAdatEllenorzes(String s) {
return s.matches("[0-9]") && Integer.parseInt(s) <= Integer.MAX_VALUE;
}
}
Javítottam. :) előző sztornó.
/*
Van egy ELSO nevű osztályom melynek van 4 adattagja melyből az első
3 konstruktor segítségével inicializálódik egy futtatható osztályban.
Az ELSO-ben van egy metódus ami a negyedik adattaggal összehasonlítja
a harmadikat majd kiír egy eredményt.
Ezen metódust a futtatható
osztályomban meghívom és szépen ki is írja amit kell VISZONT ezután
egy bekért változóval meg szeretném változtatni ezt a negyedik adattagot,
hogy ennek függvényében újra meghívjam és kiírja ez eredmény ami így
nyilván már más lesz.
Hogy tudom ezt megcsinálni? Kell még egy konstruktor?
*/
import java.util.Scanner;
public class Elso {
private final int a;
private final int b;
private final int c;
private int d = 10; //
public static void main(String[] asd) {
Elso E = new Elso();
E.osszehasonlito();
E.bekerEsModosit();
}
public Elso() {
this.a = 1;
this.b = 2;
this.c = 3;
}
public void osszehasonlito() {
System.out.println((this.c > this.d) ? "c nagyobb mint d" : "c kisebb mind d");
}
public void bekerEsModosit() {
String input;
do {
Scanner keyboard = new Scanner(System.in);
input = keyboard.nextLine();
} while(this.kapottAdatEllenorzes(input));
this.d = Integer.parseInt(input);
}
private boolean kapottAdatEllenorzes(String s) {
return s.matches("[0-9]+") && Integer.parseInt(s) <= Integer.MAX_VALUE;
}
}
Persze annyi hiányossága van:
- Mínusz értéket nem adhatunk meg, mert újra kéri
- Nem közli, hogy adatot vár. :D
- Nem vizsgáljuk c == d értékre.
Csak példakódnak szántam, úgy turkálsz bele, ahogy tetszik. :)
> Hogy tudom ezt megcsinálni?
Egy setter metódussal.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!