Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
ich habe folgendes Problem.
Ich muss eine Programm schreiben mit Hilfe unterschiedlichen Methoden.
Also main Methode muss die Werte einlesen und diese in Attributen speichern und eine Methode zur Ausgabe ausrufen.
Schreib dir ne Methode die die Werte verarbeiten kann, falls du zwei ints einliest musst du der Methode halt zwei ints als Parameter übergeben etc. In der Methode selbst kannst du ja dann damit machen was du willst....in deinem Fall z.B. System.out.println()...
public class test {
private int wert;
public void main(String[] args) {
setAttribut(999);
System.out.println(getAttribut());
public void setAttribut(int wert) {
this.wert = wert;
}
public int getAttribut() {
return this.wert;
}
}
Müsstest halt BufferedReader einbauen, wenn Du Benutzerdialoge haben willst ...
Das habe ich schom gemacht.
Aber diese Methode zur Ausgabe noch nicht drin und noch eine.
Die Methode muss ohne Paramether aufgeruft werden, die erzeugt sinnvolle Ausgabe der Temperatur und
Zeitausgabe durch Aufruf der anderen Methoden, bzw durch Auslesen der Attribute.(wie geht es eigentlich Attribute,die in main Methode sind,in einer anderen Methode benutzen?????).Diese Methode muss kein Rückgabewert liefern.
Code:
import javax.swing.*;
class Versuch42{
public static double temperatur1(double t1){
return t1*9/5+32;
}
public static boolean zeit1(int z1){
if (z1>=0 && z1<1200)
return true;
else
return false;
}
public static void main(String[] args){
double t2;
int z2;
boolean p;
String zeit=JOptionPane.showInputDialog(null,"Geben Sie die Zeitangabe in 24h Format ein:");
String temperatur=JOptionPane.showInputDialog(null,"Geben Sie die Temperatur in Celsius ein:");
t2=Double.parseDouble(temperatur);
z2=Integer.parseInt(zeit);
double t3=temperatur1(t2);
p=zeit1(z2);
System.out.println(t3);
if (p==true)
System.out.println(zeit+"am");
else
System.out.println(zeit+"pm");
System.exit(0);
}
}
Arg,warum benutzen einige einfach keine Code-Tags?
Das mit dem Wert zuweisen:
Code:
public class Test
{
static int wert;
public static void main(String[] args)
{
wert = 999;
System.out.println(getAttribut());
}
public static int getAttribut()
{
return wert;
}
}
btw. ich weigere mich Sources die so formatiert sind überhaupt anzugucken :wink:
meinst du wie man auf attributwerte die in main deklariert u. initialisiert sind zugreifen kann?
Ansonsten guck ins Beispiel, wichtig im Beispiel ist das es sich um ein Klassenattribut handelt.
Btw. in deinem Prog musst du noch Exceptions abfangen, z.B. NullPointerException - oder du musst die Werte entsprechend kontrollieren ("Rückgabewert" von JOptionPane).
Also, das mit Klassenattribut habe ich verstanen,
jetzt muss ich eine Methode für ausgabe schaffen, die ich schon beschrieben habe.
bei mir in Aufgabe steht dass ausgabe-Methode in mein Methode muss aufgerufen werden.
Wie geht das denn?
import javax.swing.*;
class Versuch43{
static double t2;
static int z2;
public static double temperatur1(double t1){
return t1*9/5+32;
}
public static boolean zeit1(int z1){
if (z1>=0 && z1<=1259)
return true;
else
return false;
}
public static void zeitumrechnung(){
if (z2>=1259)
z2=z2-1200;
else if (z2>=0 && z2<=59)
z2=z2+1200;
else
z2=z2;
Jetzt funkzt mein Programm aber nicht ganz,
Wenn ich 1220 eingebe dann Ausgabe muss doch lauten 1220pm
aber bei mir kommt 20 am raus.
Warum?
Ich weiss warum, aber ich kann das nicht weg kriegen,könnt ihr fielleicht mir ein Tipp geben(wider )
Ich hab dir doch schon im andern Thread geschrieben woran es liegt, ausserdem: leg mal fest in welcher Thread offen bleiben soll...sonst muss man immer in beiden gucken...
Ich hab dir doch schon im andern Thread geschrieben woran es liegt, ausserdem: leg mal fest in welcher Thread offen bleiben soll...sonst muss man immer in beiden gucken...
Die Methode zeit1(..) kann so nicht funktionieren, zumindest liefert sie nicht das korrekte ergebnis. Du gehst beim Parameter z1 davon aus das er im richtigen Format steht.
Bei der Eingabe im 24h Format taucht aber ein : auf, der für eine NumberFormatException sorgt wenn du versuchst den eingegebenen String in int zu parsen.