hey leute!
ich schreib gerade an meinem ersten objektorientierten programm und bin glaub ich fast fertig.
ich soll einen fernseher programmieren, bei dem der benutzer für einen bestimmten kanal einen namen speichern kann, mit anschließendem zappen.
eigentlich sollte er bei einer kanalanzahl von 200 (zb) bei "zapup" vonn 200 auf 0 springen. bzw bei zapdown von 0 auf 200
aber das klappt nicht. er gibt mir dann in zwei zeilen nen fehler aus, in meiner mainmethode und eben in der methode wo ich "getChannelname" machen möchte
wahrscheinlich ist das problem sehr einfach zu lösen, wie ich euch kenne
danke schon mal
hier der code:
und die mainmethode:
ich schreib gerade an meinem ersten objektorientierten programm und bin glaub ich fast fertig.
ich soll einen fernseher programmieren, bei dem der benutzer für einen bestimmten kanal einen namen speichern kann, mit anschließendem zappen.
eigentlich sollte er bei einer kanalanzahl von 200 (zb) bei "zapup" vonn 200 auf 0 springen. bzw bei zapdown von 0 auf 200
aber das klappt nicht. er gibt mir dann in zwei zeilen nen fehler aus, in meiner mainmethode und eben in der methode wo ich "getChannelname" machen möchte
wahrscheinlich ist das problem sehr einfach zu lösen, wie ich euch kenne
danke schon mal
hier der code:
Java:
package fernseher;
public class Fernseher {
private float diagonale;
private int x_resolution, y_resolution;
private String farbe;
private int numChannels; //anzahl der kanaele
private String[] channelList;
private boolean on;
private int actualChannel;
private String channelname;
//...
Fernseher() {
diagonale = 110;
x_resolution = 1890;
y_resolution = 1080;
farbe = "ahorn";
numChannels = 200;
on = false;
actualChannel = 0;
channelList = new String[numChannels];
for (int i = 0; i < numChannels; i++) {
channelList[i] = "";
}
}
boolean turnOn() {
on = true;
actualChannel = 0;
return on;
}
boolean turnOff() {
on = false;
return on;
}
boolean getState() {
return on;
}
void zapUp() {
if (actualChannel == numChannels) {
actualChannel = 0;
} else {
actualChannel++;
}
}
void zapDown() {
if (actualChannel == 0) {
actualChannel = numChannels;
} else {
actualChannel--;
}
}
String getChannel() {
return channelList[actualChannel];
}
void setName(int channel, String name) {
channelList[channel] = name;
}
int getNumberOfChannels() {
return numChannels;
}
int getActual() {
return actualChannel;
}
}
und die mainmethode:
Java:
package fernseher;
import Prog1Tools.IOTools;
public class Main {
public static void main(String[] args) {
Fernseher meinFernseher;
meinFernseher = new Fernseher(); //jetzt erst gibt es den fernseher
meinFernseher.turnOn();
char beenden = 'x';
int channelX;
System.out.println("Fernseher ist " + meinFernseher.getState());
for (int i = 0; i < meinFernseher.getNumberOfChannels(); i++) {
meinFernseher.setName(i, "noName");
}
do {
do {
channelX = Prog1Tools.IOTools.readInt("Geben Sie den Kanal ein, den Sie benennen wollen: ");
if (channelX >= meinFernseher.getNumberOfChannels()) {
System.out.println("Kanal nicht vorhanden, bitte wiederholen Sie Ihre Eingabe!");
}
} while (channelX >= meinFernseher.getNumberOfChannels());
String channelname = Prog1Tools.IOTools.readString("Geben Sie den Namen für ihren Kanal ein: ");
meinFernseher.setName(channelX, channelname);
System.out.println("Ihr " + channelX + " Kanal lautet " + channelname);
beenden = Prog1Tools.IOTools.readChar("Drücken Sie eine andere Taste, falls Sie einen weiteren Kanal "
+ "einstellen möchten, oder x um zu beenden: ");
} while (beenden != 'x');
System.out.println("Zappen Sie nun beliebig auf oder ab! ");
char updown;
do {
updown = IOTools.readChar("Geben sie a ein um rauf zu zappen, oder b um runter zu zappen: ");
if (updown == 'a') {
meinFernseher.zapUp();
}
if (updown == 'b') {
meinFernseher.zapDown();
}
System.out.println("Fernseher zeigt Kanal " + meinFernseher.getActual() + " mit Namen " + meinFernseher.getChannel());
beenden = IOTools.readChar("Geben Sie x ein um nicht mehr zu zappen, andernfalls eine beliebige andere Taste: ");
} while (beenden != 0);
meinFernseher.turnOff();
}
}