Code Error Java?
public class Main {
public static void main(String[] args) {


    GUI gui = new GUI();
    
    }
    
   public static int fak (int n) {
        if (n == 0) {
            return 1;
        }
        return n * fak(n - 1);
    }
    
}

import javax.swing.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;


import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class GUI extends JFrame {
    JButton button = new JButton("Berechnen");
    JLabel label = new JLabel("Bitte geben Sie die Zahl ein: ");
    JTextField textfield = new JTextField(2);
    JOptionPane popup = new JOptionPane();
    JPanel panel = new JPanel();
    
    public GUI () {
        setSize(300, 300);
        setTitle("Fakultätsrechner");
        setLayout(new FlowLayout());
        setVisible(true);
        
        panel.add(textfield);
        panel.add(label);
        panel.add(button);
        add(panel);
        
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setVisible(true);


        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                try {
                    String input = textfield.getText();
                    int number = Integer.parseInt(input);
                    int result = Main.fak(number);
                    JOptionPane.showMessageDialog(null, "Die Fakultät von " + number + " ist " + result);
                } catch (NumberFormatException ex) {
                    JOptionPane.showMessageDialog(null, "Bitte geben Sie eine gültige Ganzzahl ein.");
                }
            }
        });
        
    }





}

Error: java.lang.ClassNotFoundException: Main

Aber wieso findet er denn die Main-Klasse nicht? Verstehe ich nicht.

App, Java, Minecraft, Array, Code, Eclipse, Minecraft Server, Programmiersprache, Swing, game-development, Bukkit, Spigot, Java Swing, Android Studio
Java-Programm funktionier unerklärlicherweise nicht?

Mein Java Programm soll in der Zukunft eine Enigmamaschine simulieren. Ich möcht e das man sie auch beliebig einstellen kann, aber wenn ich es ausprobiere kommt nur ein Error. Dieser entsteht in den Zeilen 25-36, aber nach mehrfacjiger Prüfung verstehe ich immer noch nicht warum.

Hier ist der Code:

import java.util.Scanner;

public class Main {
   public static void main(String[] args) {
      Scanner scan = new Scanner(System.in);
      int counter1 = 0;
      String input;
      String settings;
      String spellzs;
      System.out.println("Dieses Programm chiffriert deinen Text mit der Enigma-M4-Verschlüsslung.");
      System.out.println("Gib deinen Text zum Verschlüsslen ein.(ohne Leerzeichen)");
      input = scan.nextLine();
      System.out.println("Gib die Verschlüsslungseinstellungen an.");
      System.out.println("z.B.: AZ-BY-CX-DW-EV-FU-GT-HS-IR-JQ-I-VI-VIII->1->13->26-A-M-Z");
      settings = scan.nextLine();
      String[] spelledInput = new String[input.length()];
      for (int i = 0; i < input.length(); i++) {
         spelledInput[i] = "";
         spelledInput[i] += input.charAt(i);
      }
      String[] spelledSettings = new String[19];
      for (int i = 0; i < 19; i++) {
         spelledSettings[i] = "";
      }
      for (int i = 0; i < 19; i++) {
         spellzs = "";
         spellzs += settings.charAt(counter1);
         if (!spellzs.equals("-")) {
            spelledSettings[i] += settings.charAt(counter1);
            counter1++;
            i--;
         }
         else {
            counter1++;
         }
      }
      for (int i = 0; i < spelledSettings.length; i++) {
         System.out.println(spelledSettings[i]);
      }
   }
}

Ich hoffe auf baldige Antwort und danke im voraus.

Java, Array
CPP Anfänger Code hilfe?
#include <iostream>
#include <cmath>
using namespace std;


double Addition(double zahl1, double zahl2)
{
    cout << "Gebe die erste Zahl ein, die addiert werden soll: ";
    cin >> zahl1;
    cout << "Gebe die zweite Zahl ein, die addiert werden soll: ";
    cin >> zahl2;
    double Summe = zahl1 + zahl2;
    cout << "Die Summe ist: " << Summe << endl;
    return zahl1 + zahl2;
}


double Subtraktion(double zahl1, double zahl2)
{
    cout << "Gebe die erste Zahl ein, die subtrahiert werden soll: ";
    cin >> zahl1;
    cout << "Gebe die zweite Zahl ein, die subtrahiert werden soll: ";
    cin >> zahl2;
    double Differenz = zahl1 - zahl2;
    cout << "Die Differenz ist: " << Differenz << endl;
    return zahl1 - zahl2;
}


double Multiplikation(double zahl1, double zahl2)
{
    cout << "Gebe die erste Zahl ein, die multipliziert werden soll: ";
    cin >> zahl1;
    cout << "Gebe die zweite Zahl ein, die multipliziert werden soll: ";
    cin >> zahl2;
    double Produkt = zahl1 * zahl2;
    cout << "Das Produkt ist: " << Produkt << endl;
    return zahl1 * zahl2;
}


double Division(double zahl1, double zahl2)
{
    cout << "Gebe die erste Zahl ein, die dividiert werden soll: ";
    cin >> zahl1;
    cout << "Gebe die zweite Zahl ein, die dividiert werden soll: ";
    cin >> zahl2;
    double Qoutient = zahl1 / zahl2;
    cout << "Der Quotient ist: " << Qoutient << endl;
    return zahl1 / zahl2;
}


double Potenz()
{
    double Basis;
    double Potenz;
    double Ergebnis;
    cout << "Gebe die Basis ein" << endl;
    cin >> Basis;
    cout << "Gebe die Potenz ein" << endl;
    cin >> Potenz;
    Ergebnis = pow(Basis, Potenz);
    cout << "Die Potenz ist: " << Ergebnis << endl;
    return pow(Basis, Potenz);
}


int main()
{
    char Rechenoperator;
    cout << "UNIVERSAL RECHNER" << endl;
    cout << "Bitte wähle die Rechenoperation aus" << endl;
    cout << "Addition(+)\nSubtraktion(-)\nMultiplikation(*)\nDivision(/)" << endl;
    cout << "Potenz(^)\nWurzel(<)\nProzent(%)" << endl;
    cin >> Rechenoperator;


    switch (Rechenoperator)
    {
    case '+':
        Addition(zahl1, zahl2);
        break;
    case '-':
        Subtraktion(zahl1, zahl2);
        break;
    case '*':
        Multiplikation(zahl1, zahl2);
        break;
    case '/':
        Division (zahl1, zahl2);
        break; 
    case '^':
        Potenz(Basis, Potenz);
        break;


    default:
        cout << "Ungültige Eingabe" << endl;
    }


    return 0;
}

main.cpp: In function ‘int main()’:
main.cpp:75:18: error: ‘zahl1’ was not declared in this scope
   75 |         Addition(zahl1, zahl2);
      |                  ^~~~~
main.cpp:75:25: error: ‘zahl2’ was not declared in this scope
   75 |         Addition(zahl1, zahl2);
      |                         ^~~~~
main.cpp:87:16: error: ‘Basis’ was not declared in this scope
   87 |         Potenz(Basis, Potenz);
Cplusplus, Array, Code, CPP, Programmiersprache, Visual Studio, Algorithmus
vom Listen-key die values im dict auslesen?
def add_vocabulary(key_word, value_word, form='infinitiv'):
dater = datetime.datetime.now().strftime("%d-%m-%Y")
    try:
        with (open('wordlist.json', 'r', encoding="utf-8-sig") as f):
            data = json.load(f)
            if dater not in data:
                data[dater] = {}
            if "0" not in data[dater]:
                data[dater]["0"] = {}
            if key_word not in data[dater]["0"]:
                data[dater]["0"] = [key_word]
            # KeyError 'h'
            if form not in data[dater]["0"][map(lambda y: y['Tags'], data[key_word])]:
                data[dater]["0"][key_word][form] = {}
                data[str(dater)]["0"][key_word][form] = value_word
                print("added as " + form + ": " + "english: " + key_word + "   german: " + value_word)

            while value_word != data[dater]["0"][key_word][form]:
                twogerman = data[dater]["0"][key_word][form]
                overwrite = input(f'do you want overwrite "%s" to "%s" (y-n): ' % (twogerman, value_word))
                if "y" == overwrite or "yes" == overwrite:
                    old_german = data[str(dater)]["0"][key_word][form]
                    data[str(dater)]["0"][key_word][form] = value_word
                    print("overwrite: " + "   form: " + form + ",   english: " + key_word + ",   german: " + old_german)
                    print("white: " + "   english: " + key_word + ",   german: " + value_word)
                    break
                elif "n" == overwrite or "no" == overwrite:
                    break

        with open('wordlist.json', 'w', encoding="utf-8-sig") as f:
            json.dump(data, f)

Schlüsselwort = h; value_word=j;

Ich möchte über das Schlüsselwort = ['h']-Werte auf die Werte zugreifen

Ich habe es mit mappen versucht, aber es erscheint der gleiche KeyError „h“.

Array, Python, Liste, JSON
Java Programm Gleichungssytem 3. Grades/Cramersche Regel?

Hallo, ich habe ein Programm erstellt, dass mithilfe der Cramerschen Regel ein Gleichungssytem 3. Grades löst (siehe unten) Nur kommt bei dem Ergebnis immer x1=0.0, x2=0.0 und x3=0.0 raus, egal was man eingibt. Ich finde den Fehler einfach nicht, kann mir da bitte jemand weiterhelfen?

LG

import java.util.*;
public class gs3 {
    public static void main(String[] args) {
        Scanner ein = new Scanner(System.in);
        System.out.println("Geben Sie den Koeffizienten des Gleichungssystems ein:");
        double[][] m = new double[3][4];
        for (int i = 0; i < 3; i++) {
            System.out.println("Gleichung " + (i + 1) + ":");
            for (int j = 0; j < 3; j++) {
                System.out.println("Koeffizient x" + (j + 1) + ":");
                m[i][j] = ein.nextDouble();
            }
            System.out.println("Rechte Seite: ");
            m[i][3] = ein.nextDouble();
        }
        double determinanteA = calculateDeterminant(m);
        if (determinanteA == 0) {
            System.out.println("Gleichungssystem nicht lösbar.");
        } else {
            double[] ergebnis = new double[3];
            for (int i = 0; i < 3; i++) {
                double[][] modifiedM = modifyM(m, i);
                double determinantModified = calculateDeterminant(modifiedM);
                ergebnis[i] = determinantModified / determinanteA;
            }
            System.out.println("Lösung: x1 = " + ergebnis[0] + ", x2 = " + ergebnis[1] + ", x3 = " +
                ergebnis[2]);
        }
        ein.close();
    }
    private static double calculateDeterminant(double[][] m) {
        double determinante = 0.0;
        determinante = m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1]) -
            m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0]) +
            m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]);
        return determinante;
    }
    private static double[][] modifyM(double[][] m, int column) {
        double[][] modifiedM = new double[3][3];
        for (int i = 0; i < 3; i++) {
            for (int j = 0, k = 0; j < 3; j++) {
                if (j != column) {
                    modifiedM[i][k++] = m[i][j];
                }
            }
        }
        return modifiedM;
    }
}

Computer, Programm, programmieren, Java, Array, codieren, Codierung, Informatik, Programmiersprache
Frage zu Array in ein Model schreiben?

Ich möchte gerne ein array

array(1) { [0]=> object(App\Content\ContentModel)#24 (17) { ["id"]=> int(1) ["title"]=> string(7) "Healing" ["sub_title"]=> string(0) "" ["content"]=> string(0) "" ["sub_content"]=> string(0) "" ["offer1_time"]=> string(0) "" ["offer1_price"]=> string(0) "" ["offer2_time"]=> string(0) "" ["offer2_price"]=> string(0) "" ["offer_extension_time"]=> string(0) "" ["offer_extension_price"]=> string(0) "" ["image"]=> string(35) "pexels-arina-krasnikova-6997996.jpg" ["parent"]=> int(1) ["sequence"]=> int(1) ["link"]=> string(2) "15" ["button_text"]=> string(11) "Zum Angebot" ["module"]=> string(0) "" } }

das ich aus der Datenbank erhalte über ein repository in ein model speichern damit ich mehrere datensätze zu einem Modul hinzufügen kann, nun wirft es mir aber eine fehlermeldung an und ich komm einfach nicht weiter.

Hier das repository:

    public function fetchModulesForPage(int $pageId): array
    {
        $stmt = $this->pdo->prepare('SELECT modules.* FROM modules JOIN pages ON modules.parent = pages.id WHERE pages.id = :pageId');
        $stmt->bindValue(':pageId', $pageId);
        $stmt->fetchAll(PDO::FETCH_CLASS, ModulesModel::class);
        $stmt->execute();
        $modules = $stmt->fetch();



        $contentRepository = new ContentRepository($this->pdo);


        foreach ($modules as $module) {


        $moduleContent = $contentRepository->fetchContentForModule($module);
        $module->setContent($moduleContent);
        }
            return $modules;
        }

und hier das Model:

<?php


namespace App\Modules;


class ModulesModel
{


    public int $id;
    public string $title;
    public int $parent;
    public string $module;
    public int $sequence;
    public array $content = [];


    public function setContent(array $content): void
    {
        $this->content = $content;
    }
}

die fehlermeldung ist:

Fatal error: Uncaught Error: Call to a member function setContent() on int in C:\xampp\htdocs\test\src\Modules\ModulesRepository.php:29 Stack trace: #0 C:\xampp\htdocs\test\src\Controller\PagesController.php(61): App\Modules\ModulesRepository->fetchModulesForPage(6) #1 C:\xampp\htdocs\test\index.php(73): App\Controller\PagesController->getAllContentFromModules(6) #2 {main} thrown in C:\xampp\htdocs\test\src\Modules\ModulesRepository.php on line 29

die line 29 ist folgende:

$module->setContent($moduleContent);
Array, Code, MySQL, PHP, Programmiersprache
Java / Schiffe versenken: Wie kann ich dafür sorgen, dass die Schiffe nur horizontal und vertikal platziert werden können?

Ich habe diesen Schiffe-versenken-Code geschrieben. Jetzt weiß ich allerdings nicht, wie ich dafür sorgen kann, dass die Schiffe nur horizontal und vertikal plaziert werden können. Das soll durch if-Verzweigungen geregelt werden.

import javax.swing.JOptionPane;

public class Schiffeversenken {
  public static void main(String[] args) {
    // Spielfelderstellung
    int größefeld = Integer.parseInt(JOptionPane.showInputDialog("Wie groß soll das Spielfeld sein?"));
    String[][] spielerarray = new String[größefeld][größefeld];

    // Spielfeld leere Felder Befüllung
    for (int i = 0; i < spielerarray.length; i++) {
      for (int j = 0; j < spielerarray.length; j++) {
        spielerarray[i][j] = "o";
      }
    }

    // Anzahl Schiffe
    int anzahlschiffe = Integer.parseInt(JOptionPane.showInputDialog("Wie viele Schiffe hast du?"));

    for (int i = 0; i < anzahlschiffe; i++) {
      // Größe des Schiffes
      int größeschiff = Integer.parseInt(JOptionPane.showInputDialog("Wie groß ist dein " + (i + 1) + " Schiff?"));

      for (int j = 0; j < größeschiff; j++) {
        // Koordinateneingabe
        JOptionPane.showMessageDialog(null, "Wähle Koordinaten von 0-" + (spielerarray.length - 1));
        int koordinate1;
        int koordinate2;
        koordinate1 = Integer.parseInt(JOptionPane.showInputDialog("Was ist die 1 Koordinate des "+ (j + 1) + " Teil deines Schiffs?"));
        koordinate2 = Integer.parseInt(JOptionPane.showInputDialog("Was ist die 2 Koordinate des "+ (j + 1) + " Teil deines Schiffs?"));
        spielerarray[koordinate1][koordinate2] = "x";
      }
    }

    // Ausgabe Spielfeld
    for (int i = 0; i < spielerarray.length; i++) {
      for (int x = 0; x < spielerarray.length; x++) {
        System.out.print(spielerarray[x][i] + " ");
      }

      System.out.println();
    }
  }
}
Java, Array, Programmiersprache, Algorithmus
Binäre suche mit Java, system falls Zahl nicht vorhanden?

Moin,

Folgendes:

Ich habe ein array mit 25.000 Feldern, in diesem sind aufsteigend quadratzahlen gespeichert. Das Programm fragt aktuell ab nach welcher Zahl man sucht und sucht dann systematisch das Array ab mittels annäherung. Ich hab nur absolut keine idee wie ich es einbauen kann, dass er merkt wenn die Zahl nicht vorhanden ist. Meine idee war, das er die Variable des letzten versuchs, mit der des aktuellen versuchs dividiert und wenn das Ergebnis = 0 ist, soll er ausgeben das die zahl nicht vorhanden ist. Leider passiert es dadurch aber manchmal das er anzeigt das die Zahl nicht vorhanden ist obwohl sie das ist, immer dann wenn er ein Feld neben der gesuchten Zahl sucht. Hier mal der relevante Teil des Codes:

int resultIndex;
int bereich = 12500;
int alg = 6250;
int bereich2 = 0;

while(true)
{


    if(quadratZahlen[bereich] < zahl)
    {
        bereich = bereich + alg;
        alg = alg / 2;

    }
    else if(quadratZahlen[bereich] == zahl)
    {
        resultIndex = bereich;
        break;
    }
    else if(quadratZahlen[bereich] > zahl)
    {
        bereich = bereich / 2;

        alg = bereich / 2;

    }


    int test = bereich - bereich2;

    if (test == 0)
    {
        resultIndex = -1;
        break;
    }

    bereich2 = bereich;

}

bereich2 ist die variable der letzten suche

bereich die der aktuellen suche

alg dient nur zur neu berechnung von bereich wenn die Zahl nicht gefunden wurde

resultIndex zeigt den Platz der gefundenen Zahl

Computer, Software, Studium, Mathematik, Technik, programmieren, Java, Array, Entwicklung, Informatik, Programmiersprache, Softwareentwicklung, Algorithmus, binär, Programmierung Java, IntelliJ IDEA
Wieso funktioniert der Code nicht?

binärbaum:

wenn ich das in der main erstelle mit

Tree t1 = new Tree();
t1.add(9);
t1.add(1);
t1.add(23);
und dann t1.root ausprinte funktinoiert es, aber t1.root.left liefert null, also es gibt nen fehler, wieso aber?

hat es was damit zu tun " parent = new TNode(data);" ?ich übergeben den linken knoten der wurzel und das ist jetzt parent, und dann weise ich parent neu zu also ich weise den linken knoten der wurzel neu zu, wieso geht das aber nicht?


public class Tree {
    TNode root;


    Tree(){
        this.root = null;
    }


    public void add(int data){
        if(root == null){
            root = new TNode(data);
        }else{
            if(data < this.root.data){
                add(data, root.left);
                System.out.println("miosty");
            }else {
                add(data, root.right);
            }
        }
    }
     public void add(int data, TNode parent){
        if(parent == null){
            System.out.println("Zu");
           parent = new TNode(data);
        }else{
            if(data < parent.data){
                add(data, parent.left);
            } else {
                add(data, parent.right);
            }
        }
    }
}
HTML, Webseite, Java, JavaScript, Array, Code, PHP, Programmiersprache, Python, Webentwicklung, Algorithmus
ist das schwieriger code in Java?

bin mit listen und doppelten liste, stacks und queues fertig, polymorphie fange ich gerade an, wie viele tage brauche ich, um diesen code zu verstehen bzw. selbser zu implementieren

public class HashTable {
    public Object[] hashTable;
    private int numCollisions;


    public int getNumCollisions() {
        return numCollisions;
    }


    public HashTable(int size){
        hashTable = new Object[size];
        numCollisions = 0;
    }


    public void add(Object element){
        int elementIndex = getHashValue(element)%hashTable.length;
        int index = elementIndex;
        while (hashTable[index] != null){
            numCollisions++;
            index = (index + 1)%hashTable.length;
            if (index == elementIndex){
                System.out.println("Full");
                return;
            }
        }
        hashTable[index] = element;
    }


    private int getHashValue(Object element) {
        return element.hashCode();
    }


    public boolean contains(Object element){
        int elementIndex = getHashValue(element)%hashTable.length;
        int index = elementIndex;
        while (hashTable[index] != null){
            if (element.equals(hashTable[index])){
                return true;
            }
            index = (index + 1)%hashTable.length;
            if (index == elementIndex) {
                return false;
            }
        }
        return false;
    }


    public void print(){
        for (int i = 0; i < hashTable.length;i++){
            System.out.println(hashTable[i]);
        }
    }
}


Java, Array, Code, Programmiersprache, Algorithmus
(Mal wieder) Fragen zur Linuxserver-Administration?

Hallo an Alle,

ich bin in meinem Lehrbuch zum Erlernen des Administrierens eines Linuxservers schon ein wenig weitergekommen, haben aber jetzt bei einem Punkt Nachfragen.
Ich bin gerade beim Thema Arrays, was zwar eigentlich noch gar nicht an der Reihe wäre, aber laut Aussage des Autors des Buches wird das Wissen, was er jetzt in Kapitel 4 beschreibt, für Kapitel 20 gebraucht und deswegen an der Stelle, an der ich bin, erklärt (fragt nicht. Den Sinn habe ich auch nicht verstanden).

Im Buch steht folgender Code:

for ((i=0; i<${ #LISTE[@]}; i+=1))
do
echo "Meine Datei: " ${LISTE[i]}
done

Was ich nicht verstehe:
1) Warum kommt in Zeile 1 nach dem for zweimal die runde Klammer am Anfang?
2) Laut meines Buches bezeichnet das @-Zeichen alle Elemente. Was bedeutet das?
2a) Ist das @-Zeichen generell für das Bezeichnen der Elemente gedacht oder wird es nur für diesen speziellen Code eingesetzt und könnte rein theoretisch auch zum Beispiel durch das Prozentzeichen ausgewechselt werden?
3) Laut meinem Lehrbuch ermittelt das Doppelkreuz vor LISTE die Anzahl der Elemente. Ist das so zu verstehen, dass ich ein Feld habe mit - sagen wir mal 20 Buchtitel als Inhalt - dass Linux weiß: Oh, ein # vor einem Feld, bevor ich weitermache, schaue ich erst mal nach, wie viele Elemente in dem Array sind?
4) Laut meinem Buch kann man Variablen auch klein schreiben, es wird aber darauf hingewiesen, dass sich die Linuxcommunity eher daran hält, sie groß zu schreiben, weil Linux von vornherein Variablen großgeschrieben hat.
Ist das kleine i nun als "Tippfehler" zu sehen oder hat es in diesem Fall einen Grund, dass es kleingeschrieben wird.

Ich weiß, viele Fragen, und wahrscheinlich sogar viele dumme Fragen, aber es wäre lieb, wenn mir jemand von Euch trotzdem beantworten kann.
Dafür sage ich schon einmal Danke im Voraus
GLG
Tichuspieler

Linux-Server, Administration, Array, Variablen, Ubuntu Server
Programm Problem in CSharp (Microsoft Visual Studio)?

Hallo ich habe ein Problem in meinen Projekt. Dieses programmiere ich innerhalb von Visual Studio mit CSharp. Es soll folgendermaßen funktionieren: Ich speichere Daten mithilfe von Textfeldern und Buttons in einem Array. Dann habe ich die Möglichkeit dieses Array zu durchsuchen, nach Kundennummer, Firmenname, Straße, Ort und Plz. Dabei habe ich folgenden Code verwendet:

private void buttonSuchen_Click(object sender, EventArgs e)
    {
      string SuchEingabe = textBoxSuche.Text.Trim().ToLower();
      List<Tkunde> suchergebnisse = new List<Tkunde>();
      switch (labelSpeziSuche.Text)
      {
        case "Die Kundennummer eingeben":
          foreach (Tkunde kunde in KundenArray)
          {
            if (kunde.Kundennummer.ToString().Contains(SuchEingabe))
            {
              suchergebnisse.Add(kunde);
            }
          }
          break;
        case "Den Firmennamen eingeben":
          foreach (Tkunde kunde in KundenArray)
          {
            if (kunde.Firmenname.ToLower().Contains(SuchEingabe))
            {
              suchergebnisse.Add(kunde);
            }
          }
          break;
        case "Die Straße eingeben":
          foreach (Tkunde kunde in KundenArray)
          {
            if (kunde.Straße.ToLower().Contains(SuchEingabe))
            {
              suchergebnisse.Add(kunde);
            }
          }
          break;
        case "Die Plz eingeben":
          foreach (Tkunde kunde in KundenArray)
          {
            if (kunde.Plz.ToString().Contains(SuchEingabe))
            {
              suchergebnisse.Add(kunde);
            }
          }
          break;
        case "Den Ort eingeben":
          foreach (Tkunde kunde in KundenArray)
          {
            if (kunde.Ort.ToLower().Contains(SuchEingabe))
            {
              suchergebnisse.Add(kunde);
            }
          }
          break;
        default:
          break;
      }
      // Ausgabe der Suchergebnisse
      if (suchergebnisse.Count > 0)
      {
        StringBuilder sb = new StringBuilder();
        foreach (Tkunde kunde in suchergebnisse)
        {
          sb.AppendLine($"Kundennummer: {kunde.Kundennummer}, Firmenname: {kunde.Firmenname}, Straße: {kunde.Straße}, PLZ: {kunde.Plz}, Ort: {kunde.Ort}");
        }
        MessageBox.Show(sb.ToString(), "Suchergebnisse");
      }
      else
      {
        MessageBox.Show("Keine Ergebnisse gefunden.", "Suchergebnisse");
      }

Jetzt kommt aber der Witz: Wenn ich nach gespeicherten Kundennummern bzw. Plz suche, gibt er mir alle zutreffenden Ergebnisse aus, auch Firmenname Straße und Ort. Suche ich jetzt allerdings nach den Firmennamen, der Straße oder dem Ort, dann kommt der Fehler: System.NullReferenceException: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.""kunde.Firmenname" war "null".Wie kann das passieren, wenn ich doch zuvor die Werte für alle 5 Angaben richtig ausgegeben bekommen habe?

Array, C Sharp, Visual Studio

Meistgelesene Fragen zum Thema Array