einfaches Programm, viele Probleme

Status
Nicht offen für weitere Antworten.
R

rO_otine

Gast
Hallo,
Aufgabe war es, ein Programm zu erstellen, welches angibt ob ein Jahr ein Schaltjahr ist oder nicht.
Dafür gibt es folgende Bedingungen:

- ist ein jahr durch 4 ohne rest teilbar, ist es ein schaltjahr.
- ist ein jahr durch 100 ohne rest teilbar, so ist es kein schaltjahr.
- ist ein jahr durch 100 und durch 400 teilbar, so ist es wieder ein schaltjahr.

mein prgramm lautet:

Code:
public class Schaltjahr {



private int jahr=1985;



public void pruefeJahr(int jahr)

{

  if (jahr%400=0)

  {

    if (jahr%100=0)

    {

      System.out.println("Das Jahr" + jahr + "ist ein Schaltjahr.");

    }

    else

    {

      System.out.println("Das Jahr" + jahr + "ist kein Schaltjahr.");

    }

  }

  else

  {

    if (jahr%4=0)

    {

      if (jahr%100=0)

      {

        System.out.println("Das Jahr" + jahr + "ist kein Schaltjahr.");

      }

      else

      {

        System.out.println("Das Jahr" + jahr + "ist ein Schaltjahr.");

      }

     }

    else

    {

      System.out.println("Das Jahr" + jahr + "ist kein Schaltjahr.");

    }

  }

}

  public static void main(String[] args) {





  }

}

jedoch zeigt er einige fehler an. der modolu operator ist wohl nicht korrekt (weißt jedoch nicht wie man ihn korrekt verwendet, laut tafelbild muss das die richtige syntax sein, aber irgendwie...)

ich hab das jahr oben festgesetzt (1985), wie man eine eingabe macht (über tastatur) geht mir nicht in den kopf. irgendwas mit scanner. wie man das anwendet weiß ich jedoch nicht. und was ich in die main reinschreiben soll ebenso nicht. zusätzlich braucht die methode pruefeJahr irgendeinen Übergabeparameter.

kann mir jemand helfen? darüber wäre ich sehr dankbar, da am mittwoch eine klausur auf mich wartet. ich hoffe ich verstehe es bis dahin.
 
B

Beni

Gast
Vergleiche werden mit "==" gemacht, "=" ist der Zuweisungsoperator und hat i.A. nichts in einer if-Bedingung zu suchen.

Zum Scanner: Mit "Scanner s = new Scanner( System.in )" generierst du einen neuen Scanner. Mit der Methode "nextInt" kannst du einen int von der Konsole lesen, und den übergibst du per Methodenaufruf: "pruefjahr( s.nextInt() )"
 
R

rO_otine

Gast
hallo und danke schon einmal für die hilfe. das mit den gleichheitszeichen werde ich sofort berichtigen. daran hatte ich nicht gedacht.

wie schreibe ich eine korrekte main methode? ich werde also zunächst den scanner einsetzen wie du es beschrieben hast. als weiteren ansatz habe ich nur

Schaltjahr jahrX = new Schaltjahr ( hier weiß ich nicht was reinkommt)

ja, das war es auch schon .ich weiß weiter nicht was ich machen soll, bzw. wofür die main gut ist. das er etwas ausgeben soll habe ich doch schon in pruefJahr drin. was soll ich also noch in die main schreiben?

gruß
 
G

Gelöschtes Mitglied 5909

Gast
es geht auch umständlich :D

Code:
import java.util.Scanner;

public class Schaltjahr {
	
	public static boolean isSchaltjahr(int jahr) {
		return (jahr % 4 == 0) && (jahr % 400 == 0 || jahr % 100 != 0);		
	}
	
	public static void main(String args[]) {
		Scanner s = new Scanner(System.in);
		System.out.println("Bitte eine Jahreszahl eingeben: ");
		System.out.println(isSchaltjahr(s.nextInt()) ? "Schaltjahr" : "Kein Schaltjahr");
	}	
	
}

edit: mit main und eingabe :)
 

Jango

Gesperrter Benutzer
rO_otine hat gesagt.:
...ja, das war es auch schon .ich weiß weiter nicht was ich machen soll, bzw. wofür die main gut ist. das er etwas ausgeben soll habe ich doch schon in pruefJahr drin. was soll ich also noch in die main schreiben?

Die main()-Methode wird beim Programmstart als erste aufgerufen. Das heißt, dass du in der main() deine Methode pruefeJahr() aufrufen musst. Gleichzeitig gibst du ihr ein Argument vom Typ int mit, denn deine Methode erwartet das, weil sie einen Parameter vom Typ int hat.
Aber vorher musst du noch ein Objekt deiner Klasse deklarieren, um auf die Methode pruefeJahr() zugreifen zu können. Oder du deklarierst die Methode pruefeJahr() als static - dann gehts auch so...

Edit: @rail: Wenn du deinem Beitrag noch was hinzufügen willst, mach das bitte in einer neuen Antwort, sonst sehen die folgenden Beiträge etwas überflüssig aus, meinst du nicht auch? Das heißt, ich hätte mir die Erklärung sparen können, wenn du nachträglich einen fertigen Code lieferst. :wink:
 
G

Guest

Gast
ok, da habe ich einige fragen.

Code:
import java.util.Scanner;

public class Schaltjahr {
   
   public static boolean isSchaltjahr(int jahr) {
      return (jahr % 4 == 0) && (jahr % 400 == 0 || jahr % 100 != 0);      
   }
   
   public static void main(String args[]) {
      Scanner s = new Scanner(System.in);
      System.out.println("Bitte eine Jahreszahl eingeben: ");
      System.out.println(isSchaltjahr(s.nextInt()) ? "Schaltjahr" : "Kein Schaltjahr");
   }   
   
}

1) wozu steht das || ?
2) boolean ist auch klar, nur wofür steht das static davor?
3) muss in der main nicht auch irgendwo system.in vorkommen? es soll ja auch etwas eingegeben werden. ich sehe gerade keine möglichkeit irgendwo etwas einzugeben.
4) wo ist das "private jahr" hin?

ist eine tolle lösung, muss ich schon sagen. ich muss sie allerdings auch verstehen, sonst kann ich solche schönen lösungen leider nicht anwenden. vielleicht kannst du ein paar kommentare hinterfügen, wie gesagt, || und die fragen oben kann ich nicht ganz nochvollziehen.


@Jango: Danke auch an deine antwort. sobald ich bei der main bin, weiß ich nicht was ich reinschreiben soll. wie gesagt, die ausgabe habe ich ja schon oben gemacht. meiner meinung nach ist damit schon alles komplett. die main scheint mir mit meinem (geringen) kenntnisstand daher überflüssig. die schritte weiß ich dank deiner hilfe zumindest nun.


leider weiß ich immer noch nicht, wie meine main genau aussehen muss. mein ansatz war wie gesagt:

Code:
System.out.println("Das Jahr" + jahr + "ist kein Schaltjahr."); {
Schaltjahr jahrX=new Schaltjahr();
int jahr=jahrX.pruefeJahr(int [color=blue]*[/color]jahr)[color=red]*[/color];
}

und noch irgendwo das system.in hin. für die eingabe.

das blaue sternche heißt, das er dort einen fehler erkennt. er sagt mir: 'class' expected. da schreibt man doch aber nicht die klasse rein?? funktioniert dann auch nicht.

bei dem roten sternchen hätte er gern eine klammer ). warum weiß ich nicht. da fehlt keine klammer.

vielleicht erkennt jmd, auf welchem weg ich das pferd aufzäumen möchte. wie gesagt, ich weiß nicht exakt wie ich die main forme. zuerst wird das objekt erzeugt, anschließend verwendet man es. nur wie. ...
 

Jango

Gesperrter Benutzer
Anonymous hat gesagt.:
1) wozu steht das || ?
2) boolean ist auch klar, nur wofür steht das static davor?
3) muss in der main nicht auch irgendwo system.in vorkommen? es soll ja auch etwas eingegeben werden. ich sehe gerade keine möglichkeit irgendwo etwas einzugeben.
4) wo ist das "private jahr" hin?

Also wenn du Mittwoch darüber eine Klausur schreiben musst, wirds Zeit, dich hinzusetzen und dir Mal die Grundlagen anzusehen. Die sind ja praktisch überhaupt nicht vorhanden. Ist nicht böse gemeint, wirklich nicht, aber mit deinem jetzigen Wissen schaffst du das nicht. Und da nützt es dir auch nichts, wenn dir hier jemand einen Crashkurs in Java gibt. Man weiß ja garnicht, wo man anfangen soll.
Also - Bücher wälzen - so oft und so lange du Zeit hast.

Edit: http://www.galileocomputing.de/openbook/javainsel6/ oder www.javabuch.de
 
G

Guest

Gast
ja, das ist richtig, diese main methoden frage ist schon länger thema. leider geben die bücher die ich zur verfügung habe auch nicht das genaue an was ich wissen will. dort steht das gleiche, objekt wird erzeugt und verwendet. warum aber was wo steht und wie das exakt aufgebaut ist steht leider nirgends. ansonsten nur noch was du auch meintest, ist die erste methode die aufgerufen wird, etc. das weiß ich allerdings schon. nur soll ich sowas ja auch selbst aufbauen können. das klappt nicht so recht.
 

Jango

Gesperrter Benutzer
Wenn die Bücher alles so schlecht dokumentieren, frage ich mich ernsthaft, wie andere es schaffen, Java-Grundlagen erfolgreich zu lernen? Nee - an den Büchern liegts nicht. Benutz den Link von mir da oben! Java-Insel ist nicht die perfekte Lernhilfe, aber deine Fragen beantwortet es. Oder du suchst dir im Netz "Java in 21 Tagen" von Laura Lemay, oder "Jetzt lerne ich Java", von Dirk Louis. Irgendwo findest du was, das dir zusagt. Man muss es nur wollen. Oder du hörst im Unterricht besser zu, denn die Hitliste mit Ausreden wird angeführt mit: "Der Lehrer verlangt dies und das, obwohl er es uns nie beigebracht hat".

Tschau
 

Marco13

Top Contributor
@raiL :applaus:
@Jango: Wer weiß denn schon, was das Thema der Klausur ist?
@r0_otine: Im Prinzip hat Jango aber recht... trotdem hier der Crashkurs
1. wozu steht das || ?
Für "Oder"
if (1<2 || 4<1) = "Wenn 1<2 ist, ODER wenn 4<1 ist"

2) boolean ist auch klar, nur wofür steht das static davor?
Das heißt, dass man kein Objekt anlegen muß, um die Funtkion aufrufen zu können.

3) muss in der main nicht auch irgendwo system.in vorkommen? es soll ja auch etwas eingegeben werden. ich sehe gerade keine möglichkeit irgendwo etwas einzugeben.
Kommt vor. Schau mal genauer.

4) wo ist das "private jahr" hin?
Weg :lol: Es wird nichtmehr gebraucht. Die eingegeben Zahl wird DIREKT an die Funktion übergeben.

Zu deiner letzten Frage (und der Frage, in der du vom Compilerfehler erzählt hast) : Du solltest die Fragen möglichst konkret stellen. Wenn du nur frags "Wie geht das", ist man versucht, eine Standard-main-Funktion zu posten, ohne damit deine eigentliche Frage zu beantworten. Und wenn du code postest, wo compilerfehler auftreten, dann sollte der Code möglichst vollständig sein, weil man sonst nicht weiß, ob es vielleicht daran liegt, dass du 20 Zeilen weiter oben eine { vergessen hast (oder so)
 
G

Guest

Gast
schade, ich hatte nur um hilfe gebeten und es kommt gleich: wahrscheinlich hast du dem nicht zugehört, und es seien alles nur ausreden.

das buch "java in 21 days" habe ich bereits, dann noch ein java-übungsbuch, java ist auch eine insel sowie objektorientierte programmierung in java von vieweg verlag. wie gesagt, das die methode zuerst aufgerufen wird, man damit objekte erzeugen kann etc. weiß ich bereits. die bücher behandeln die main methode aber so, wie wir sie nie hatten. mit sachen wie inout.writeln("jkjkljkl.... usw. ich benötige aber andere antworten als dort angegeben sind. es ist schon etwas ungünstig die main anders zu schreiben als wir "gelernt" haben. btw haben wir ein übungsblatt bekommen zu der main, wo steht, das man damit ein objekt erzeugen kann sowie das objekt verwenden kann. allerdings an einem so simplen beispiel, sodass ich dieses beispiel nicht bei schwierigeren aufgaben anwenden kann. zudem bin ich bei weitem nicht die einzige die damit probleme hat. die anderen haben da schon vorkenntnisse (die meisten), somit wird das thema auch nicht noch einmal durchgekaut. wie gesagt, schade nur dass wenn man etwas nicht auf anhieb verstanden hat, andere einem immer gleich in den mund schieben man hätte nicht genau zugehört oder es seien alles nur ausreden.
 

Jango

Gesperrter Benutzer
He, he, he - nun werd mal hier nicht unsachlich, ja? Das, was man dir erklärt hat, hast du ja nicht verstanden. Und dass du nicht ein perfekt vorgekautes und auf dich persönlich abgestimmte Buch findest, ist doch wohl klar.
Ach, nein - ich rege mich nicht auf... - nein, nicht mehr...
 
G

Guest

Gast
@marco: danke, nun verstehe ich das kleine programm dort oben.

die main die ich gepostet hatte kkommt einfach nur unten an das programm welches im ersten post steht. ich hatte das programm noch einmal kopiert und die main ausgeschrieben. ich habe ein bisl rumexperimentiert. einmal habe ich versucht, dass das programm mit dem standartwert 1985 eben ausgibt ob es sich um ein schaltjahr handelt oder nicht, und beim zweiten wollte ich, dass der benutzer eine eingabe tätigt. das erste programm funktioniert in soweit, dass zumindest das schwarze fensterchen aufgeht und zumindest "pause, taste drücken un dzu beenden" angezeigt wird. wie bei all meinen programmen. das war bis jetzt das weiteste was ich geschafft habe.

bzgl. der main weiß ich nicht genau wie ich noch genauer formulieren kann. ich erstelle ein ojekt. nun möchte ich dieses verwenden. die zeile dananch verstehe ich auch nicht so ganz, das ist so eine musterlösung die wir mal auf einem blatt bekommen haben.

int jahr=jahrX.pruefeJahr(int jahr);

ich denke mal dass die methode pruefjahr auf das neu erstellte objekt jahrX angewendet wird. und int jahr hinter, einfach weil jahr vom typ int ist.

nun weiß ich nicht mehr weiter. ich möchte, dass der benutzer eine eingabe macht. ich würde also instinktiv erst mal
was mit system.in machen. wie - keine ahnung. auf jeden fall möchte ich ja etwas eingeben.

zusätzlich soll ja die ausgabe kommen. reicht es wenn ich die wie oben im programm, in die methode pruefjahr eingegeben habe, oder muss diese nochmal in der main aufgeführt werden? bei letzterem würde ich die ganzen verzweigungen einfach reinkopieren, andererseits: warum hat man dann überhaupt die methode erstellt. das wäre ja doppelt gemoppelt.
 
G

Guest

Gast
unsachlich werde ich nicht wirklich. wo denn? leider müssen wir einen bestimmten weg einhalten. zudem wäre es auch komisch, wenn ich da plötzlich lösungen rausknalle, die wir gar nicht behandelt haben. sprich || und static. sicher könnte ich das jetzt alles abschreiben, und es morgen schön als eigene hausaufgabe präsentieren, die ich ganz allein gemacht hätte. das ist aber nicht sinn und zweck. ich möchte es selbst lernen und auch durchsteigen und erklären können. abschreiben kann jeder.

@was gesagt wurde habe ich nicht verstanden:
deine antworten habe ich durchaus verstanden. das die main meth als erstes aufgerufen wird ..... das wusste ich vorher auch schon. mir fehlen einfach andere antworten. die bücher geben mir leider einen anderen lösungsweg vor. dort finden sich jedoch sachen, die wir noch nicht wissen können, da wir mit der java-programmierung ganz am anfang sind. dieses inout.writeln .. wurde nicht behandelt und wäre demnach auch für unseren unterricht 'falsch'.

deswegen verstehe ich auch nicht, warum du dich so ärgerst. abgesehen davon war das nur meine klarstellung. ich würd e mich lieber dem lernen weiter widmen als das nebensächliche diskutiere über ausreden und unsachliche aussagen. da ist mir java doch ein wenig wichtiger.
 

Micha_S

Aktives Mitglied
Also die Sache ist eigentlich ganz einfach, die Sache mit dem tenären Operator von raiL ist wahrscheinlich ein bischen zu hoch gegriffen...
Naja:
Code:
public static void main(String args[]) {
//Du erstellst einen Scanner, der das Zahlen aufnehmen für dich macht
Scanner s = new Scanner(System.in);

System.out.println("Bitte eine Jahreszahl eingeben: ");

//Hier speicherst du einfach die vom Benutzer gewünschte Jahreszahl zwischen
int benutzerJahr = s.nextInt();

//und jetzt kommts:
Schaltjahr jahrX = new Schaltjahr(); 

//Jetzt hast du einfach ein neues Schaltjahr-Objekt erzeugt, welches die Methode
//pruefeJahr(int Jahr)  hat. Diese rufst du jetzt einfach auf:

// Als Parameter gibst du der Methode das zwischengespeicherte Jahr mit
jahrX.pruefeJahr(benutzerJahr); 
}

Und schon bist du fertig!
Die Ausgabe erfolgt jetzt innerhalb der Methode. Wenn du die Methode jetzt nochmal in die main kopieren wolltest wäre es wie du sagst doppelgemoppelt.

Vielleicht hilft es dir wenn man sagt, dass die main die einzige Methode ist die von alleine Aufgefrufen wird.
Der Computer ruft nur die main auf. Und macht dann nur das was in der main steht. Du kannst
zigtausend Zeilen Code haben, wenn davon nix in der main aufgerufen krazt das wenig...

Hoffe konnte dir helfen, wenn nicht musst du ganz konkret sagen, was du denkst was eine main methode ist und was du wissen willst...
Gruß
Micha
 

Marco13

Top Contributor
OK. Ich gehe mal davon aus, dass du Java 1.5 verwendest (früher gab es die Klasse "Scanner" noch nicht). Dann könntest du z.B. folgendes machen:

Code:
import java.util.Scanner;

public class Schaltjahr {

//private int jahr=1985; // Wird nichtmehr gebraucht!

public void pruefeJahr(int jahr)
{
    .... hier dein code, so wie er war...
}

  public static void main(String[] args) {

      Scanner s = new Scanner(System.in);
      System.out.println("Bitte eine Jahreszahl eingeben: ");
      int jahr = s.nextInt();
      System.out.println("Du hast "+jahr+" eingegeben. Ich mache den Schaltjahr-Test:");
      Schaltjahr jahrX=new Schaltjahr();
      jahrX.pruefeJahr(jahr);
  }

}

Zur Compilermeldung:
int jahr=jahrX.pruefeJahr(int jahr);

Das funktioniert nicht, weil man beim Aufrufen der Funktion nicht nochmal sagen muß, dass es ein int ist. Richtig wäre sowas wie
int jahrRueckgabe=jahrX.pruefeJahr(jahr);

Aber auch DAS funktioniert nicht, weil die Funktion "pruefeJahr" nur "void" zurückgibt, und keinen "int". Man kann also das mit dem "int" auch nicht davor schreiben. Was funktioniert ist
jahrX.pruefeJahr(jahr);
 
G

Guest

Gast
vielen dank, ihr habt mir damit sehr geholfen. ich hatte vor längerer zeit mal c++, und vor noch längerer zeit vb, an das ich mich kaum erinnere. ich komme jedoch mit sachen die von damals noch hängengeblieben sind in die quere. in c++ haben wir damals einfach alles in die int main() geknallt was es gab. wieso weiß ich nicht. mit den schleifen komm ich durch vb durcheinander. do while loop möchte ich da gern verweden, obwohl es in java auch ein while do tun würde -.-

auf jeden fall sind schon die fragen geklärt die ich zur main wissen wollte. ich dachte dass zuerst die main aufgerufen wird, danach das programm wieder von oben anfängt. sprich, dann die methoden abarbeitet. ob sie nun in der main stehen oder nicht. die sichtweise erleichtert mir einiges, da ich nun weiß was ich genau in die main einzufügen habe. das ich manchmal einfach noch einmal das (ind xxx) anhängen will, muss ich mir einfach abgewöhnen.

und hier:

jahrX.pruefeJahr(jahr);

fügt man dann bei jahr einfach die variable jahr ein? also die variable mit der gearbeitet werden soll, für die die methode "pruefeJahr" angewendet werden soll. jahrX ist dann das neue objekt welches erzeugt werden soll (oder schon ist).

soweit habe ich alles verstanden. danke noch einmal dafür. die scanner geschichte muss ich einfach noch auswendig lernen, damit ich sie auch anwenden kann. im moment muss ich ab und zu noch einmal nachschlagen um sie zu verwenden.

gruß
 
G

Guest

Gast
ich habe hier noch ein programm, welches nicht korrekt funktioniert. auch eine übung von mir.
meine erste frage: wie kommt es das in meinem programm 'Scanner' nicht fett formatiert ist? ich habe das gefühl das dieses util nicht installiert ist. ferner habe ich noch andere fehler in meinem programm. hier der quell code. was die jeweiligen methoden bewirken bzw. die aufgabenstellung wird glaube ich klar.

Code:
/**

  *

  * Beschreibung

  *

  * @version 1.0 vom 29.01.2007

  * @author

  */

import java.util.*;

public class Konto {



private float kontoStand;

private char name;

private float betrag;



//methods



public float getKontoStand()

{

  System.out.println("Ihr Kontostand beträgt" + kontoStand + "Euro.");

}



public float gutschreiben(float betrag)

{

  kontoStand=kontoStand+betrag;

}



public float abheben(float betrag)

{

  kontoStand=konstoStand-betrag;

}



  public static void main(String[] args) {

  Scanner taste = new Scanner(System.in);

  float betragEingabe;

  betragEingabe=taste.nextLine();



  Konto betragX=new Konto();

  betragX.gutschreiben();

  betragX.abheben();

  betragX.getKontoStand();



  }

}


ich weiß nicht warum das programm nicht richtig funktioniert. mit den übergabeparametern habe ich (meiner meinung nach) nicht mehr das allzugroße problem. ein bisl mit dem rückgabewert.

abheben hebt einen betrag vom konto ab.
gutschreiben schreibt gut wie der name schon sagt.
getKontostand soll auskunft über den kontostand geben.

leider funktioniert das schon wieder nicht. jedoch sehe ich beim drübergucken nichts. :-/ bzw finde ich den fehler nicht.
 

Jango

Gesperrter Benutzer
Anonymous hat gesagt.:
meine erste frage: wie kommt es das in meinem programm 'Scanner' nicht fett formatiert ist?

Bitte?

Anonymous hat gesagt.:
ich weiß nicht warum das programm nicht richtig funktioniert. mit den übergabeparametern habe ich (meiner meinung nach) nicht mehr das allzugroße problem. ein bisl mit dem rückgabewert.

Wenn du eine Methode mit einem Rückgabetyp deklarierst, musst du auch eine return-Anweisung mit einbauen.

So etwa:
Code:
public int methi(){
  ...
  ...
  return wert;  //muss ein int-Wert sein
}

Auch wenn du keinen Wert wirklich brauchst, braucht die Methode ein return. Um das zu umgehen deklarierst du die Methode einfach void.

Edit: Und wenn du in einer Methode Parameter hast, musst du ihr auch beim Aufrufen Argumente mitgeben. Schrieb ich das nicht schon mal?

Und meinst du mit:
Anonymous hat gesagt.:
mit den übergabeparametern habe ich (meiner meinung nach) nicht mehr das allzugroße problem

dass du das Problem aus der Welt geschaft hast, in dem du die Parameter ignorierst?
 

Micha_S

Aktives Mitglied
Genau wie Jango gesagt hast musst du die Methoden
auch mit den Parametern aufrufen:

Code:
public float gutschreiben(float betrag)
{
  kontoStand=kontoStand+betrag;
}

Schreibst du in deiner Klasse. Diese Methode will asl Parameter einen
float haben. In der main rufst du die Methode auf:

Code:
betragX.gutschreiben();

Hier gibst du der Methode allerdings keinen Parameter mit.

Code:
betragX.gutschreiben(123,5);

Wäre da schon viel besser. Natürlich lannst du dann den Betrag zum Abheben
auch wieder vom Scanner einlesen lassen.
 

Jango

Gesperrter Benutzer
@Micha_S *schnell duck und wegrenn* :lol:

Anonymous hat gesagt.:
leider funktioniert das schon wieder nicht. jedoch sehe ich beim drübergucken nichts. :-/ bzw finde ich den fehler nicht.

Beachte das mal, was wir dir geschrieben haben, und du wirst sehen, dass es funktioniert :D
 
G

Guest

Gast
vielen dank für die viele hilfe.

ich schreibe also bei

betragX.gutschreiben(123,5);

etwas herein, sprich: ich lege einen wert fest. in diesem fall 123,5. möchte ich das mit dem scanner einlesen: wird dann gar nichts mehr in die klammer geschrieben?

ich werde es noch einmal mit euren tipps versuchen. ich denke dass es dann klappt, auf jeden fall hab ich das gefühl viel besser durchzublicken als vorher.
 
G

Guest

Gast
achso, wg der scannergeschichte: beim java-editor wird es auf unseren rechnern im unterricht immer fett formatiert, sprich: hat man das wort Scanner vollendet, erscheint es fett. zuhause auf dem notebook hingegen haber nicht. und ich hatte bereits einen fehler dass er scanner irgendwie nicht kennt, unknown irgendwas. habe ich den fehler wieder poste ich ihn nochmal. ist es nur theoretisch möglich, ihn nicht installiert zu haben? theoretisch muss er doch auch schon im basispaket von dem editor enthalten sein, oder nicht? das javautil.... hab ich oben eingefügt wie ihr seht (im programm oben). das meinte ich mit scanner.
 
G

Guest

Gast
ok, ich habe es noch einmal versucht. ich möchte die daten nicht im programm ändern, sondern eingeben lassen. nun meine fragen:

1. wie schreibe ich den scanner richtig? also zum beispiel von der methode abheben? ich weiß eben nicht wie ich es exakt für eine spezielle methode schreibe. ich wüsste nun jetzt spontan nicht was ich hier dann für die methode einsetzen soll, oder an welcher stellt ich den scanner einsetzen soll, vor den aufruf der methode in der main denk ich mal. reicht einfach das hier?

Code:
Scanner taste = new Scanner(System.in);
  float betragEingabe;
  betragEingabe=taste.nextLine();

und statt "float betragEingabe" in zeile 2 einfach nur betrag, weil ich das auch in die methode geschrieben habe?
oder reicht oben der code am anfang, und ich muss nur noch unter (oder wo?) die methode system.out.println(irgendwas); schreiben?

zu der scanner sache: ich bekomme die fehlermeldung "cannot resolve symbol, symbol: class Scanner, location: class Konto." Der fehler wird angezeigt bei der zeile Scanner taste = new Scanner(System.in);


im unterricht habe ich damit keine probleme gehabt, dort haben die programme funktioniert an der stelle. die letzte aufgabe mit fußgesteuerten schleifen konnte ich ohne probleme und hilfe selbst lösen, (warum mir die einfachen sachen nicht liegen kann ich nicht sagen, auch wenn es überhaupt nicht logisch ist.)

wie gesagt; kann es sein dass bei mir der scanner "nicht gunktioniert"? die zeile ist doch richtig, und von euch hat auch keiner dort einen fehler gefunden und geschrieben.
 

Micha_S

Aktives Mitglied
Das mit dem einlesen für den Betrag zum gutschreiben ist eigentlich ganz einfach.
Mit :
Code:
betragX.gutschreiben(123,5);

schreibst du 123,5 gut. wenn du jetzt das gutschreiben willst,was der Benutzer
eingibt, gibst du der Methode einfach die Eingabe als Argument(@Jango:wink:) mit.

So:
Code:
Scanner taste = new Scanner(System.in);
float betragEingabe;
betragEingabe=taste.nextLine();
betragX.gutschreiben(betragEingabe);

Noch Fragen?
 

Leroy42

Top Contributor
Code:
Scanner taste = new Scanner(System.in); 
float betragEingabe; 
betragEingabe=taste.nextLine();

Muß es nicht eher taste.nextFloat() (oder taste.nextDouble()) heißen?

Ich kenne Scanner noch nicht aber es kommt mir merkwürdig vor. ???:L
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Erste Schritte Einfaches Programm und GUI zusammen bringen Java Basics - Anfänger-Themen 3
M Einfaches TicTacToe Programm Java Basics - Anfänger-Themen 19
S KeyListener für einfaches Programm Java Basics - Anfänger-Themen 3
C Einfaches Paint-Programm Java Basics - Anfänger-Themen 9
R OOP Einfaches Programmierbeispiel für Assoziation, Aggregation und Komposition gesucht Java Basics - Anfänger-Themen 10
Kamy Ein einfaches "Vier Gewinnt" Spiel für Anfängerin Java Basics - Anfänger-Themen 51
J Einfaches Quadrat auf der Console ausgeben lassen Java Basics - Anfänger-Themen 7
H ein einfaches Tic Tac Toe Spiel Java Basics - Anfänger-Themen 1
L Einfaches Kartenspiel (Spieler Klasse) Java Basics - Anfänger-Themen 14
R Einfaches refresh während runtime Java Basics - Anfänger-Themen 4
M JSP-Einfaches Bild anzeigen Java Basics - Anfänger-Themen 4
F Einfaches Threadbeispiel.. Java Basics - Anfänger-Themen 7
S Referentielle Integrität ? (Einfaches Bsp) Java Basics - Anfänger-Themen 2
G Erste Schritte Einfaches Gästebuch erstellen mit Array Java Basics - Anfänger-Themen 7
V Klassen import - einfaches Umleiten auf eigene Klassen? Java Basics - Anfänger-Themen 8
A Android Datenbank gaaanz einfaches Insert geht nicht - warum? Java Basics - Anfänger-Themen 4
B OOP einfaches regex Java Basics - Anfänger-Themen 10
K einfaches Drucken von Text (und ggf Bildern,gemischt) Java Basics - Anfänger-Themen 11
M Ganz einfaches Beispiel, finde den Fehler aber nicht :( Java Basics - Anfänger-Themen 2
S Einfaches Regulaerer Ausdruck Problem Java Basics - Anfänger-Themen 7
E einfaches Schachbrett generieren Java Basics - Anfänger-Themen 9
S einfaches Pokerprogramm Java Basics - Anfänger-Themen 52
H einfaches Array -> ']' expected Java Basics - Anfänger-Themen 9
H Webservice - Einfaches Beispiel Java Basics - Anfänger-Themen 2
F Ich raffs nicht! - Wie mache ich ein einfaches Java-window? Java Basics - Anfänger-Themen 54
S Einfaches int Array gibt über System.out.println merkwürden Wert aus Java Basics - Anfänger-Themen 9
K Einfaches Bubblesort Java Basics - Anfänger-Themen 11
O einfaches rechnen mit zahlen Java Basics - Anfänger-Themen 4
H Einfaches Date-parse problem Java Basics - Anfänger-Themen 2
T Array auf einfaches Element umwandeln Java Basics - Anfänger-Themen 8
G einfaches Regex Problem Java Basics - Anfänger-Themen 4
M EInfaches Addieren mit Abbruchbedingung Java Basics - Anfänger-Themen 9
M [Einfaches Beispiel] Problem mit innere Klassen Java Basics - Anfänger-Themen 4
S Einfaches Rechenprogramm Java Basics - Anfänger-Themen 2
G Einfaches Rechenprogramm schreiben! Java Basics - Anfänger-Themen 8
A ausgabe eines arrays - einfaches beispiel Java Basics - Anfänger-Themen 4
M Einfaches Menü erstellen Java Basics - Anfänger-Themen 106
D was ist denn nun schon wieder? Einfaches JSP. Java Basics - Anfänger-Themen 6
D Ein einfaches Problem aber ich brauche einen TIP Java Basics - Anfänger-Themen 2
P Ein einfaches Spiel: TicTacToe. Fehler und Vorschläge Java Basics - Anfänger-Themen 3
F einfaches Menue in einer Textkonsole Java Basics - Anfänger-Themen 4
W einfaches Frame öffnen Java Basics - Anfänger-Themen 2
N Wahrscheinlich ganz einfaches Problem, aber unverständlich! Java Basics - Anfänger-Themen 3
S einfaches script mit Eingabeaufforderung starten (javac) Java Basics - Anfänger-Themen 8
B Einfaches Speichern und Laden in Java? Java Basics - Anfänger-Themen 3
L Einfaches Warten in eine Schleife Java Basics - Anfänger-Themen 9
P einfaches Perl-Skript aufrufen Java Basics - Anfänger-Themen 7
G einfaches jdialog beispiel Java Basics - Anfänger-Themen 1
B Oberflaecheprog einfaches beispiel (button action listener) Java Basics - Anfänger-Themen 5
N Vermutlich einfaches Problem.. Java Basics - Anfänger-Themen 3
A "Hello World"-Programm läuft nicht Java Basics - Anfänger-Themen 11
J Delay erzeugen, ohne Programm zu blockieren Java Basics - Anfänger-Themen 7
Ü Dead Code im Programm? Java Basics - Anfänger-Themen 13
M Java Mail Programm Java Basics - Anfänger-Themen 4
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
M Mini Jar-Programm Java Basics - Anfänger-Themen 51
G JTable Listselectionlistener friert das Programm ein Java Basics - Anfänger-Themen 8
M Das Programm stellt nichts dar Java Basics - Anfänger-Themen 2
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
Z Programm Ideen Java Basics - Anfänger-Themen 8
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
T Programm stürzt ab Java Basics - Anfänger-Themen 40
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
G Programm läuft durch, ohne Eingabe aus dem Chat abzuwarten Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
N Interpreter-Fehler Compiler zeigt keine Fehler an, aber das Programm läuft nicht (BlueJ) Java Basics - Anfänger-Themen 2
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
Jul1n4tor Programm mit Scanner und If-Statements Java Basics - Anfänger-Themen 2
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
K Ist das Programm schlecht bzw. schlampig programmiert ? Java Basics - Anfänger-Themen 9
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
M Von Eclipse zum richtigen Programm Java Basics - Anfänger-Themen 1
nbergmann IntelliJ: Wie lade ich ein fertiges Programm aus dem Lehrbuch? Java Basics - Anfänger-Themen 26
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 22
I Jetty starten von Programm (Main) Java Basics - Anfänger-Themen 27
Kydo Programm Beschreibung Java Basics - Anfänger-Themen 3
nbergmann Eclipse: Lehrbuch-Programm startet nicht Java Basics - Anfänger-Themen 7
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
frager2345 Programm erstellen ohne Autoboxing und Unboxing Java Basics - Anfänger-Themen 13
D JAVA Programm schreiben Java Basics - Anfänger-Themen 46
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
J Mein Programm läuft bei der ersten Eingabe nicht mehr weiter, woran liegt das? Java Basics - Anfänger-Themen 6
M Wo hält das Programm an? Java Basics - Anfänger-Themen 11
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
Fugover Kopfrechnen-Programm Java Basics - Anfänger-Themen 6
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
A wie kann ich es in meinem Programm rein tun Java Basics - Anfänger-Themen 8
S Fehler beim Programm Java Basics - Anfänger-Themen 2
Jose05 Fehler im Programm feststellen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben