Jahrdifferenz in Eclipse berechnen mit dem Aktuellen Jahr?

4 Antworten

Wie Gehilfling schon richtigerweise schrieb. Kannst du dir aus dem Calendarobjekt die notwendigen Informationen holen.

Der absolut einfachste Weg wäre folgender:

int baujahr = 2014; 
int aktuellesJahr = Calendar.getInstance().get(Calendar.YEAR); 
int alter = aktuellesJahr - baujahr;

Soweit sollte das für deine Übungen reichen.

Theoretisch hast du ein Problem, da keine Tage berücksichtigt sind. aber wie gesagt, für die Übung sollte es reichen.

Calendar.getInstance() ohne weiteres gibt dir ein umfangreiches Objekt welches auch den aktuellen Datums-Wert besitzt.

Erstelle dir eine Integer-Variable, welche dann folgenden Wert erhält:

int year = Calendar.getInstance().get(Calendar.YEAR);

zwar ist Calendar.getInstance() schonmal ein guter hinweis, aber zur Lösung fehlt noch was.

Per get(Calendar.YEAR) bekommt man nur das aktuelle Jahr raus - Jedoch braucht man das zur Lösung des Problems nicht.

0
@KnusperPudding

Er möchte doch das Alter eines Fahrzeugs bestimmen? Dafür braucht er doch das aktuelle Jahr, damit er die Differenz zum Baujahr bilden kann. Das hab ich ihm aber noch selbst zugetraut.

0

Eigentlich ist der GregorianCalendar hier wirklich die bessere Alternative, da er dir z. B. einfach die Jahreszahl ausgeben kann. Date arbeitet ausschließlich mit Millisekunden sein dem 01.01.1970. Machbar ist es aber trotzdem, ist aber umständlich.  

Erstmal kannst du dir die curdate variable vermutlich sparen. Wenn du das aktuelle Datum willst, ist es meistens sinnvoller, es zum Zeitpunkt der Ausführung jedes mal neu zu ermitteln. Den getter verwendest du hier gar nicht. Außerdem ist new Date(System.currentTimeMillis()) exakt das gleiche wie new Date(). Wenn du direkt die Systemzeit in Millisekunden nimmst, kannst du dir daraus natürlich das Jahr errechnen und die Differenz zum Baujahr ermitteln, aber wie gesagt, das ist nicht ganz so einfach (weil nicht jedes Jahr gleich lang ist). 

Fehlerbehebung: This method must return a result of type MidiEvent?

hallo nochmal, was ist mit "his method must return a result of type MidiEvent" gemeint und wie fixe ich das? der fehler kommt von eclipse bei folgender zeile:

public static MidiEvent eventErzeugen (int comd, int chan, int one, int two, int tick){

wer komplett code ist auf meiner vorherigen frage^^

...zur Frage

Sinn von "this" in Java?

...

private int x;

Zahl (int points)
{
this.x = points;
}

ODER:

public int getx()
{
return this.x
}



...zur Frage

Java Zahlenspiel programmieren "sehr simple"?

Ich brauche Hilfe bei folgendem Code und Aufgabe die im Code steht.
Am besten für jede Variante ein Beispiel der ersten Zahl 1 von 9. Wäre sehr dankbar für die Hilfe, um das ganze mehr nachvollziehen zu können.

public class Zahlenspiel{
.....
}
public String zahltext_mit_if(int i) {
   String wert="";
   /* Eingabe int wert */
   // Es soll der einstellige Zahlenwert als ausgeschriebene Zahl zurückgegeben werden
   return wert;
}
public String zahltext_mit_case(int i) {
   String wert="";
   /* Eingabe int wert */
   // Es soll der einstellige Zahlenwert als ausgeschriebene Zahl zurückgegeben werden
   return wert;
}
public String zahltext_mit_eingebaut(Integer i) {
   String wert="";
   /* Eingabe int wert */
   i.toString();
   // Es soll der einstellige Zahlenwert als ausgeschriebene Zahl zurückgegeben werden
   return wert;
}
public String zahl_gleich_5(Integer i) {
   String wert="";
   /* Eingabe Integer wert */
   // Es soll das Wort Juchhu ausgeben werden wenn i gleich 5 ist, ansonsten die Zahl als wort;
   return wert;
}
public int string_zu_zahl(String zahl) {
   // Hier soll aus dem String zahl ein int ausgegeben werden, 0 wenn keine Zahl eingegeben wurde
   return 0;
}
public void grafzahl() {
   // In einer for i schleife von 10 auf 0 , und bei auch ein Grafzahl ausgeben
}
...zur Frage

Java, Verschiebung innerhalb einer abstrakte Klasse?

Hey, ich habe eine zweite Aufgabe gelöst, bis auf die Aufgabe mit Funktionen (3. Punkt). Ich frage mich, ob das derzeitige Ergebnis stimmt und wie der dritte Punkt gelöst werden soll.

abstract class Figure {
  private Point p;

  Figure() {
    this.p = new Point(0, 0);
  }

  Figure(int s, int t) {
    this.p = new Point(s, t);
  }

  /*public void moveTo(int x, int y) {
    p.moveTo(x, y);
  }
  public void moveRel(int x, int y) {
    p.moveRel(x, y);
  }*/

  public abstract int getsize();

  public abstract void(int x);

  public abstract int getflaeche();

  public abstract int getUmfang();
}

Aufgabe:

Erstellen Sie nun eine abstrakte Klasse Figure die ebene geometrische Figuren repräsentiert.

  1. Sie besitzt ein gekapseltes Datenelement vom Typ Point das die Position der Figuren der Ebene bestimmt.
  2. Ein Standardkonstruktor und ein Konstruktor mit zwei int-Parametern erzeugen jeweils entsprechende Exemplare von Point und initialisieren damit das Datenelement der Klasse.
  3. Es gibt Methoden zum absoluten und relativen Verschieben der Figur. Nutzen Sie dazu die entsprechenden Methoden der Klasse Point.
  4. Es werden die Schnittstellen von vier weiteren Methoden vereinbart: Zum Abfragen und zum anderen der Größe der Figur (die jeweils durch einen int-Wert bestimmt sein wird), zur Berechnung des Flächeninhalts sowie des Umfangs der Figur.
...zur Frage

Java:Programm für Würfel

Hallo erstmal! Ich muss ein Java-Programm schreiben,in dem die Funktionen wurf() ,augen() (diese soll spezifisch dazu deinen,den wert als int zurückzugeben) und eine Funktion public static int augensumme(Wuerfel w1, Wuerfel w2) implementiert sind. Ich bin damit auch soweit durch,wollte dann jedoch das Programm testen und habe bemerkt,dass ich die main-methode vergessen habe. Jetzt versuche ich,die Zeile public static void main (String[] args) { hinzuzufügen,sobald ich jedoch die geschweifte Klammer setze,zeigt mir NetBeans massig "illegal start of expression" an. Wie kann ich das vermeiden und mein Programm lauffähig machen?

Hier der Code: import java.math.*; public class Wuerfel {

public int w1;
public int w2;

        public  Wuerfel() {
            wurf();  
        }
        
        public void wurf() {
            w1 = (int)(Math.random()*6) + 1;
            w2 = (int)(Math.random()*6) + 1;
        }
        
         public int augen() {
            return w1;
        }
         
     
        
    Falls sonstige Verbesserungsvorschläge gemacht werden,bin ich natürlich auch für diese dankbar!
...zur Frage

Bluej Taschenrechner?

Hi, hab folgendes Problem hab einen Taschenrechner in Bluej programmiert aber der soll beimdividieren nicht runden wie schaff ich das? Das ist das Programm: public class Taschenrechner { //int zahl1; //int zahl2; int ergebnis;

public Taschenrechner()
{
    //zahl1=4;
    //zahl2=5;
    ergebnis=0;
}
public int addiere(int zahl1, int zahl2){

    ergebnis=zahl1+zahl2;
    return ergebnis;
}
public int subtrahiere (int zahl1, int zahl2){
    ergebnis=zahl1-zahl2;
    return ergebnis;
}

public int multipliziere (int zahl1, int zahl2){
    ergebnis=zahl1*zahl2;
    return ergebnis;
}

public int dividiere (int zahl1, int zahl2){
    ergebnis=zahl1/zahl2;
    return ergebnis;
}

}

...zur Frage

Was möchtest Du wissen?