# Unterschied zwischen "Console.console_in_int()" und "Console.readInt()"



## SebastianTigo (26. Januar 2010)

Hallo Leute,
ich bin blutiger Anfänger in Sachen Java und Programmierung, bin aber sehr am Thema interessiert, also versuche ich ein mir wenig selber beizubringen (für Bücher oder Kurse fehlen mir sowohl Zeit und Geld, bin armer Vollzeitstudent)...
Ich versuche mich ala "learning by doing" voranzuarbeiten, nehme mir also fertige Java-Programme zur Brust, und versuche deren Funktionsweise durch Veränderung (und natürlich googlen) zu verstehen.
Auf eine Frage hab ich allerdings partout keine Antwort gefunden:
Wo ist der Unterschied zwischen "Console.console_in_int()" und "Console.readInt()"?
Beide Methoden lesen doch von der Konsole den Typ "int" ein, aber sind nicht untereinander austauschbar...
Ich würde mich freuen, wenn mir jemand den Unterschied in einfachen Worten erklären könnte!
Danke im Vorraus,
Sebastian


----------



## benjava (26. Januar 2010)

Auf was für eine Klasse beziehst du dich? Die "Console" aus Java 1.6 enthält keine der beiden Methoden, die du nennst. (http://java.sun.com/javase/6/docs/api/java/io/Console.html)


----------



## SebastianTigo (26. Januar 2010)

Ich hab hier mal 2 Beispiele (die relevanten Stellen hab ich mit "!" hervorgehoben):

1.ein Programm zum Umrechnen von Tagen in Jahre und Monate
import ConsoleInOut.*;

public class Tage
{
public static void main (String args[])
{
int Tage;
int Monate;
int Jahre;
int Resttage;

System.out.println("Geben Sie die Anzahl der Tage an");

!Tage= Console.console_in_int();!

Jahre = Tage / 360;

Monate = (Tage % 360) /30;

Resttage = (Tage % 360) % 30;




System.out.println(Tage + " Tage ergibt");
System.out.println(Monate + " Monate");
System.out.println(Jahre + " Jahre");
System.out.println("und " + Resttage + " Resttage");

}
}


2. ein Programm zum Umrechnen von Minuten in Stunden und Minuten

import inout.Console;
class StundenMinuten
{
 static int[] wandleMinutenInStunden(int minuten)
 {
  int stundenMinuten[] = {0,0};
  stundenMinuten[0] = minuten / 60;
  stundenMinuten[1] = minuten % 60;
  return stundenMinuten;
 }
 public static void main (String args[])
 {
   System.out.println("Minuten eingeben:");
   !!int minuten = Console.readInt();!!
   int stundenUndMinuten[] = 
     wandleMinutenInStunden(minuten);
   System.out.println(minuten + " Minuten = "+ 
   stundenUndMinuten[0] + " h " 
    + stundenUndMinuten[1] + " min");
 }
}

Mittlerweile hab ich ne Vermutung: Kann es sein, dass es an den importierten Paketen liegt, dass dort sozusagen für die selbe Methode unterschiedliche Schreibweisen angegeben sind?
Ich hoffe, dass dieser Post nicht zu unübersichtlich geworden ist...


----------



## deepthroat (26. Januar 2010)

Hi.

Die Pakete ConsoleInOut bzw. inout.Console sind keine Standardpakete. Letzteres scheint aus dem Buch _Java: Der Einstieg in die Programmierung_ von Helmut Balzert zu sein.

Gruß


----------



## SebastianTigo (27. Januar 2010)

Ah, OK, das heisst also, dass man die Methoden abhängig von importierten Patekt benennen muss!?
Also theoretisch bewirken beide Befehle dasselbe, heissen nur Paket-spezifisch anders?


----------



## deepthroat (27. Januar 2010)

SebastianTigo hat gesagt.:


> Ah, OK, das heisst also, dass man die Methoden abhängig von importierten Patekt benennen muss!?


Natürlich.


SebastianTigo hat gesagt.:


> Also theoretisch bewirken beide Befehle dasselbe, heissen nur Paket-spezifisch anders?


Was die beiden Methoden intern machen, müßte doch in der entsprechenden JavaDoc (oder im Buch) stehen. Beide Methoden geben offenbar einen int (oder Integer?) zurück, welcher vermutlich von der Standardeingabe extrahiert wurde.

Gruß


----------



## SebastianTigo (27. Januar 2010)

Alles klar, wunderbar, vielen Dank für die Hilfe!
Echt tolles Forum hier!


----------

