Umwandlung habe ich zur Zeit eine Textdatei wie folgt:eine Textdatei lesen und sie in Polynome
3 5 6 9
3 4 6 7 2
3 5 7 2 5 3
Die Datei, wenn sie in Java sollte wie 3x^5 + 6x^9 angezeigt werden. Die zweite Zeile würde als 4x^4 + 6x^7 + 2 gelesen werden. Das Programm kann das nicht anzeigen, da ich nicht weiß, wie man diese Zahlen in diese Form umwandelt. Ich bekomme gerade die Zahlen mit Leerzeichen dazwischen, wenn ich das Programm starte.
Hier ist, was ich versucht habe:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Driver {
public static void main(String[] args) {
try {
@SuppressWarnings("resource")
Scanner myfile = new Scanner(new File("poly.dat"));
Polynomial[] mypolynomial;
mypolynomial = new Polynomial[10];
int index = 0;
if (myfile.hasNext() == true) { //ignore this part
myfile.nextLine();
} else {
System.out.println("Error: File is empty");
return;
}
while (myfile.hasNextLine()) {
mypolynomial[index] = new Polynomial(myfile.nextLine());
index++;
}
String menu = "Please choose a Polynomial \n";
for (int i = 0; i < index; i++) {
menu = menu + i + " " + mypolynomial[i].getNumber() + "\n";
}
String choicemenu = "What do you want to do ? \n " + "A - Display a Polynomial \n "
+ "B - Add two Polynomial \n " + "C - Subtract two Polynoimal \n "
+ "D - Multiply two Polynomial \n ";
String action = JOptionPane.showInputDialog(choicemenu);
if (action.equals("A")) {
int choice = Integer.parseInt(JOptionPane.showInputDialog(menu));
JOptionPane.showMessageDialog(null, mypolynomial[choice]);
}
} catch (FileNotFoundException e) {
System.out.println(" OOOPS - something wrong - maybe the file name is wrong");
}
}
}
public class Polynomial { //Testing the program
String poly;
public Polynomial(String p)
{
poly = p;
}
public String getNumber() {
return poly;
}
public void setNumber(String p)
{
poly=p;
}
public String toString()
{
String result = "The Polynomial is " + poly;
return result;
}
}
Ich möchte zuerst diese Ziffern als Polynome angezeigt werden, dann will ich schließlich Operationen mit ihnen durchzuführen. Kann mir jemand helfen?
Vielen Dank für Ihre Antwort! Könnten Sie das möglicherweise erweitern? Was meinst du mit einem String-Polynom? Dh wann lese ich die Daten in ein Array? Ich bin auch mit booleschen IsOnSecond nicht vertraut. Kannst du ein Beispiel geben und mir helfen, es zu starten? Ich entschuldige mich, ich versuche immer noch zu verstehen, was los ist. Vielen Dank, obwohl –
Ich habe einige Beispiel-Code für Sie zum Betrachten hinzugefügt. –
Wenn Sie das Layout der Datei garantieren können, können Sie sie auch als Binärdatei speichern und für einen schnelleren Zugriff einfach über die Bytes iterieren. – Krythic