Forum / Grundlagen des Programmierens / 3. Hausübung
3. Hausübung
Ich mache hier mal ein Thema auf für die 3.HUE
Jeder der Vorschläge und Tipps hat, bitte hier posten ;)
Hallo, ich habs so mit der vom Andi
package pkg1226757_3;
import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger;
class Punkt { Punkt(int x, int y) { this.x = x; this.y = y; } int id; int x; int y; void print(){ System.out.println("x:"+this.x+" y:"+this.y); } }
class Linie { Punkt a, b; Linie(Punkt a, Punkt b) { this.a = a; this.b = b; } double length() { int x = this.a.x + this.b.x; int y = this.a.y + this.b.y; return Math.sqrt((x * x) + (y * y)); } }
class Linienzug implements Comparable{ List<Punkt> lst; Linienzug(){ this.lst=new ArrayList<Punkt>(); } void add(Punkt p){ this.lst.add(p); p.id=this.lst.size(); } private double abstand_von_punkten(Punkt a, Punkt b){ return Math.sqrt((a.xb.x)+(a.yb.y)); } double length(){ double gl=0; if (this.lst.size() <= 2) return 0; for (int i=0; i<this.lst.size(); i++){ if (i!=(this.lst.size()-1)) gl+=this.abstand_von_punkten(this.lst.get(i),this.lst.get(i+1)); } return gl; } int anzahl_punkte(){ return this.lst.size(); } void print(){ for (int i=0; i<this.lst.size();i++){ this.lst.get(i).print(); } } @Override public int compareTo(Object o1){ if (this.length()==((Linienzug) o1).length()) return 0; else if (this.length() > ((Linienzug) o1).length()) return 1; else return -1; } }
public final class Bsp3_1226757_3 { List<Linienzug> lst = new ArrayList<Linienzug>(); Bsp3_1226757_3() { load_from_file("C:/Users/Yo_Mama/Documents/NetBeansProjects/1226757_3/src/pkg1226757_3/Linienzuege.txt"); dump_to_file("C:/Users/Yo_Mama/Documents/NetBeansProjects/1226757_3/src/pkg1226757_3/out.txt"); } public void load_from_file(String file) { Scanner s = null; try { s = new Scanner( new BufferedReader(new FileReader(file))).useDelimiter("\n"); while (s.hasNext()) { String[] in = s.next().split(":"); Linienzug l = new Linienzug(); for (int i=0; i<(in.length-1); i++){ l.add(new Punkt(Integer.parseInt(in[i]), Integer.parseInt(in[i+1]))); } this.lst.add(l); } } catch (FileNotFoundException ex) { System.out.print("File not found"); } finally { if (s != null) { s.close(); } } } public void dump_to_file(String file) { PrintWriter out = null; try { out = new PrintWriter(new FileWriter(file)); for (int i = 0; i < this.lst.size(); i++) { out.println("Linie" + i + ":" + this.lst.get(i).length()); } } catch (IOException ex) { // hat netbeans generiert Logger.getLogger(Linienzug.class.getName()).log(Level.SEVERE, null, ex); } finally { if (out != null) { out.close(); } } } public void dump_to_file_sorted(String file){ Collections.sort(lst); this.dump_to_file(file); } }
Könnt ihr mir helfen, ich sehe den Fehler nicht
Hallo, ich habs so mit der vom Andi
package pkg1226757_3;
import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger;
class Punkt { Punkt(int x, int y) { this.x = x; this.y = y; } int id; int x; int y; void print(){ System.out.println("x:"+this.x+" y:"+this.y); } }
class Linie { Punkt a, b; Linie(Punkt a, Punkt b) { this.a = a; this.b = b; } double length() { int x = this.a.x + this.b.x; int y = this.a.y + this.b.y; return Math.sqrt((x * x) + (y * y)); } }
class Linienzug implements Comparable{ List<Punkt> lst; Linienzug(){ this.lst=new ArrayList<Punkt>(); } void add(Punkt p){ this.lst.add(p); p.id=this.lst.size(); } private double abstand_von_punkten(Punkt a, Punkt b){ return Math.sqrt((a.xb.x)+(a.yb.y)); } double length(){ double gl=0; if (this.lst.size() <= 2) return 0; for (int i=0; i<this.lst.size(); i++){ if (i!=(this.lst.size()-1)) gl+=this.abstand_von_punkten(this.lst.get(i),this.lst.get(i+1)); } return gl; } int anzahl_punkte(){ return this.lst.size(); } void print(){ for (int i=0; i<this.lst.size();i++){ this.lst.get(i).print(); } } @Override public int compareTo(Object o1){ if (this.length()==((Linienzug) o1).length()) return 0; else if (this.length() > ((Linienzug) o1).length()) return 1; else return -1; } }
public final class Bsp3_1226757_3 { List<Linienzug> lst = new ArrayList<Linienzug>(); Bsp3_1226757_3() { load_from_file("C:/Users/Yo_Mama/Documents/NetBeansProjects/1226757_3/src/pkg1226757_3/Linienzuege.txt"); dump_to_file("C:/Users/Yo_Mama/Documents/NetBeansProjects/1226757_3/src/pkg1226757_3/out.txt"); } public void load_from_file(String file) { Scanner s = null; try { s = new Scanner( new BufferedReader(new FileReader(file))).useDelimiter("\n"); while (s.hasNext()) { String[] in = s.next().split(":"); Linienzug l = new Linienzug(); for (int i=0; i<(in.length-1); i++){ l.add(new Punkt(Integer.parseInt(in[i]), Integer.parseInt(in[i+1]))); } this.lst.add(l); } } catch (FileNotFoundException ex) { System.out.print("File not found"); } finally { if (s != null) { s.close(); } } } public void dump_to_file(String file) { PrintWriter out = null; try { out = new PrintWriter(new FileWriter(file)); for (int i = 0; i < this.lst.size(); i++) { out.println("Linie" + i + ":" + this.lst.get(i).length()); } } catch (IOException ex) { // hat netbeans generiert Logger.getLogger(Linienzug.class.getName()).log(Level.SEVERE, null, ex); } finally { if (out != null) { out.close(); } } } public void dump_to_file_sorted(String file){ Collections.sort(lst); this.dump_to_file(file); } }
Könnt ihr mir helfen, ich sehe den Fehler nicht
Funktioniert, aber fragt nicht wieso :D
import java.io.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
class punkt {
punkt(int x_koordinate, int y_koordinate) {
this.x_koordinate = x_koordinate;
this.y_koordinate = y_koordinate;
}
int punkt_seriennummer;
int x_koordinate;
int y_koordinate;
void print(){
System.out.println("x_koordinate:"+this.x_koordinate+" y_koordinate:"+this.y_koordinate);
}
}
class linie {
punkt anfang, ende;
linie(punkt anfang, punkt ende) {
this.anfang = anfang;
this.ende = ende;
}
double länge() {
int x_koordinate = this.anfang.x_koordinate + this.ende.x_koordinate;
int y_koordinate = this.anfang.y_koordinate + this.ende.y_koordinate;
return Math.sqrt((x_koordinate * x_koordinate) + (y_koordinate * y_koordinate));
}
}
class Linienzug implements Comparable{
List<punkt> lst;
Linienzug(){
this.lst=new ArrayList<punkt>();
}
void add(punkt p){
this.lst.add(p);
p.punkt_seriennummer=this.lst.size();
}
private double abstand_von_punkten(punkt anfang, punkt ende){
return Math.sqrt((anfang.x_koordinate*ende.x_koordinate)+(anfang.y_koordinate*ende.y_koordinate));
}
double länge(){
double gl=0;
if (this.lst.size() <= 2)
return 0;
for (int i=0; i<this.lst.size(); i++){
if (i!=(this.lst.size()-1))
gl+=this.abstand_von_punkten(this.lst.get(i),this.lst.get(i+1));
}
return gl;
}
int anzahl_punkte(){
return this.lst.size();
}
void print(){
for (int i=0; i<this.lst.size();i++){
this.lst.get(i).print();
}
}
public int compareTo(Object o1){
if (this.länge()==((Linienzug) o1).länge())
return 0;
else if (this.länge() > ((Linienzug) o1).länge())
return 1;
else
return -1;
}
}
public class Bsp3_1226442_3 {
public static void main(String[] args){
new Bsp3_1226442_3();}
List<Linienzug> list = new ArrayList<Linienzug>();
Bsp3_1226442_3() {
load_from_file("C:/Users/upman_000/workspace/1226442_3/src/Linienzuege.txt");
dump_to_file("C:/Users/upman_000/workspace/1226442_3/src/Ausgabe.txt");
}
public void load_from_file(String file) {
Scanner s = null;
try {
s = new Scanner(
new BufferedReader(new FileReader(file))).useDelimiter("\\n");
while (s.hasNext()) {
String[] in = s.next().split(":");
Linienzug l = new Linienzug();
for (int i=0; i<(in.length-1); i++){
l.add(new punkt(Integer.parseInt(in[i]),
Integer.parseInt(in[i+1])));
}
this.list.add(l);
}
} catch (FileNotFoundException ex) {
System.out.print("File not found");
} finally {
if (s != null) {
s.close();
}
}
}
public void dump_to_file(String file) {
PrintWriter out = null;
try {
out = new PrintWriter(new FileWriter(file));
for (int i = 0; i < this.list.size(); i++) {
out.println("Linie" + i + ":" + this.list.get(i).länge());
}
} catch (IOException ex) {
Logger.getLogger(Linienzug.class.getName()).log(Level.SEVERE, null, ex);
} finally {
if (out != null) {
out.close();
}
}
}
public void dump_to_file_sorted(String file){
Collections.sort(list);
this.dump_to_file(file);
}
}
\n~~~
wie ist der pfad auf nem mac bei load_from_file? /Users/groa/Downloads/Zusatzdateien_Hue3/Linienpfad
so?
peace
Johannes @Joschi
Wirtschaftsingenieur... · Technische Universit...
einzeln....