Datum überprüfen java

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
if(zeile.equals(d)){
    JOptionPane.showMessageDialog(null, "Gefunden");
}else{
    JOptionPane.showMessageDialog(null, zeile);
}

Die Variable "d" ist ein Datum. Diese Variable wird nur einmal ein Wert zugewiesen - nämlich null. Außerdem ist "zeile" ein String-Objekt. Das heißt, das der Vergleich nie wahr wird.

Generell würde ich es immer anders aufbauen. Eine Methode, die für das Lesen der Datei verantwortlich ist und das Datum bzw eine Liste von Daten zurückgibt. In der aufrufenden Methode wird dann verglichen, ob heute eines dieser Daten ist.

Den Wert von der Variable d hab ich jetzt entfernt. Wie krieg ich D jetzt in eine Varible und zwar so das ich dies auch mit dem String zeile überprüfen kann.

0
@mcchecker1000

Wie bereits geschrieben, würde ich eine Methode erstellen, die die Textdatei mit den Daten ausliest. Die Methode hätte dann folgende Signatur:

public static List<LocalDate> readDateFile(String path)

Danach gilt es eigentlich nur noch die Liste mit den Daten zu durchsuchen:

List<LocalDate> dates = readDateFile("C:\\path\\to\\file.txt");
Optional<LocalDate> dateMatch = dates.stream()
                                    .filter(x -> x.equals(LocalDate.now()))
                                    .findFirst();
if (dateMatch.isPresent())
    System.out.println("gefunden");
0
@mcchecker1000

Das liegt vermutlich daran, dass das Projekt kein Java 8 verwendet oder du eine alte Eclipse-Version hast, die Java 8 nicht komplett unterstützt.

0

Java 8 besitzt die LocalDateTime-API. Und dort findest du auch die Methode "isBefore(...)" irgendwo.

Wieso eine mögliche NullPointerException?

Wieso habe ich bei diesem Code in der while-Schleife bei daten[counter] eine mögliche NullPointerException?

public class MainMethode {
  public static void main(String[] args) {
    BufferedReader br = null;
    
    try {
      br = new BufferedReader(new FileReader(new File("src/datei.txt")));
      String line = null;
      String[][] daten = null;
      int counter = 0;

      while((line = br.readLine()) != null) {
        daten[counter] = line.split(",");
      }

      for (String[] aDaten : daten) {
        System.out.println(aDaten);
      }
    }
    catch(FileNotFoundException e) {
      e.printStackTrace();
    }
    catch(IOException e) {
      e.printStackTrace();
    }
  }
}
...zur Frage

Java If-Anweisung funktioniert nicht!?

Hi Leute,

Ich habe vor einigen Tagen angefangen Java zu lernen. Ich arbeite mit Eclipse und wollte so als Anfang ein Programm schreiben in den nach einem Benutzernamen gefragt wird, wenn dieser JustinSeib ist wid man nach dem Passwort gerfragt, das ebenfalls JustinSeib ist! Wenn man dem Benutzernamen falsch eingegeben hat erscheint eine Fehlermeldung und man wird NICHT nach dem Passwort gefragt, wenn nur das Passwort falsch ist erscheint eine entsprechende Fehlermeldung. Aber das scheint bei mir nicht so ganz zu funktionieren, bei mir wird bei beidem IMMER die Fehlermeldung ausgegeben auch wenn ich alles korekkt in groß- und Kleinschreibung und alles beachte! ABER wenn ich in die Bedingung der If Anweisung direkt true reinschreibe funktioniert alles! Hier der Code bitte sagt mir wo mein fehler liegt sofern der fehler im Code liegt, muss er aber denn ich schreiben "JustinSeib" absolut richtig!

import javax.swing.JOptionPane;

public class Lernen {

public static void main(String[] args) {
    
String Benutzername =  JOptionPane.showInputDialog("Geben deinen Benutzernamen ein: ");
    

if (Benutzername == "JustinSeib") { String Passwort = JOptionPane.showInputDialog("Gebe dein Passwort ein: ");

    if (Passwort == "JustinSeib") {
        
        JOptionPane.showMessageDialog(null, "Guten Tag Justin!");
    } else {
        JOptionPane.showMessageDialog(null, "Dein Passwort ist falsch!");
        
    }

    } else {
        
        JOptionPane.showMessageDialog(null, "Dieser Benutzer exestiert nicht!");
        
    }




}

}

...zur Frage

java textdatei bestimmte zeile schreiben

hey leute... ich möchte in einer txtdatei eine bestimmte zeile ändern. aber wenn ich mein program starte dann gibt es eine NullPointerException... warum ??? und wie kann ich das lösen???

public MainClass() throws IOException{
    File file = new File("D:\\test.txt");

    writer(file, 5, "hallo zeile 5");    
}

public void writer(File file, int zeile, String text) throws IOException {
    int gelsesenezeilen = 0;
    String vorhandene_zeilen;
    BufferedWriter out = new BufferedWriter (new FileWriter (file));
    BufferedReader in = new BufferedReader(new FileReader(file));
    
    while(gelsesenezeilen != zeile-1){
        vorhandene_zeilen = in.readLine();
        out.write(vorhandene_zeilen);
        out.newLine();
        gelsesenezeilen++;
    }
    
    out.write(text);
    out.newLine();
    
    out.close();
    in.close();
}
...zur Frage

Wie kann ich denn aus einer Textdatei Zahlen auslesen?

Ich möchte hier wie zu sehen Passwörter und Kontostand aus der Textdatei auslesen. Wie geht das denn.

import java.io.;

import java.util.Scanner;

public class AbfragePasswortMitTextdatei {

public static void main(String[] args) throws IOException {

String result ;

Scanner eingabe = new Scanner(System.in);

BufferedReader br = new BufferedReader(new FileReader("PasswörterundBenutzernamen.txt"));

String Benutzername1 = br.readLine();

int Passwort1 = br.readLine();

Int Kontostand1 = br.readLine();

String Benutzername2 = br.readLine();

Int Passwort2 = br.readLine();

Int Kontostand2 = br.readLine();

String Benutzername3 = br.readLine();

Int Passwort3 = br.readLine();

Int Kontostand3 = br.readLine();

String Name;

System.out.println("Wie lautet ihr Benutzername?");  

Name = eingabe.next();

if (Benutzername1.equals(Name) || Benutzername2.equals(Name) || Benutzername3.equals(Name))           

   {

System.out.println("Wie lautet ihr Passwort ?");

} else {

System.out.println("Dieser Benutzername exestiert nicht !!!");

return;                                   // stoppt alles --> so dass man ohne passwoirt nicht weiter kommt

}

Int Zahl = eingabe.nextLine();

System.out.println("");

System.out.println("");

System.out.println("");     

if (Zahl==Passwort1 && Benutzername1.equals(Name))

{

System.out.println(Benutzername1 +" "+ "hat" +" "+ Kontostand1 +" €");

}

else if (Zahl==Passwort2 && Benutzername2.equals(Name))

{

System.out.println(Benutzername2 +" "+ "hat" +" "+ Kontostand2 +" €");

}

else if (Zahl==Passwort3 && Benutzername3.equals(Name))

{

System.out.println(Benutzername3 +" "+ "hat" +" "+ Kontostand3 +" €");

}

else 

{

System.out.println("Ups das Passwort stimmt nicht mit den Benutzernamen überein !!!" );

}


...zur Frage

Import bei "Throw new RuntimeException"?

public class RuntimeException {

public static void main(String[] args) {

int n = 5;

if (n==5) {

throw new RuntimeException();

}

else {

System.out.println("richtig");

...zur Frage

Java Dateien Kopieren

Halli Hallo!

Ich möchte ein Javaprogramm schreiben, dass mir eine Datei 1:1 kopiert. Also hab ich mir gedacht, ich bau mir einen Printstream zum schreiben und einen BufferedReader zum lesen. Soweit, sogut. Ich will aber jpg-Dateien kopieren. Ein kleines Testprogramm, um zu schauen, ob das überhaupt klappt, sieht so aus:

import java.io.*;
import java.net.*;

class PictureTest {
  public static void main(String arg[]) throws Exception {
    BufferedReader source = new BufferedReader(new InputStreamReader(new FileInputStream(new File("Zwischenablage01.jpg"))));
    PrintStream datei = new PrintStream(new FileOutputStream(new File("Teststrip.jpg")));
    String s = source.readLine();
    while (s != null) {
      datei.println(s);
      s = source.readLine();
    }
  }
}

Man sollte meinen, dass es jede Zeile, die es in source einliest, auch wieder über datei.println() ausgibt ... tut es aber nicht.

Wie kann man das lösen?

...zur Frage

Was möchtest Du wissen?