Voor school moeten ik een java opdrachtje maken. Nu moet ik een 2-d tabel maken. Opzich niet zo moeilijk, maar nu moet dit ook in een txt bestandje komen te staan. Dat is het punt waar ik er niet uitkom.
Ik heb het maken van de tabel in een aparte functie staan, leek me makkelijker, maar misschien moet ik alles wel helemaal omgooien...
plz. help
Natuurlijk zitten er dingen in die beter kunnen, maar ik ben nog maar net bezig met java, en ik vind dat ik al vrij ver gekomen ben.
Ik heb het maken van de tabel in een aparte functie staan, leek me makkelijker, maar misschien moet ik alles wel helemaal omgooien...
plz. help
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
| import java.util.*; // bevat alle list en map classes
import java.io.*; // bevat alle Input / output classes
public class test
{
static void tabel(int max){
System.out.println();
// We gaan hier een 2d tabel maken met de tafels van 1 t/m 10
String line = "---"; // Een klein stukje voor elk tussenlijntje
String fline = "==="; // Een klein stukje voor het 1e bovenlijntje
int[] x = new int[max]; // Een array maken met de getallen van 1 t/m (int)max
for (int i = 0, j = 1; i < max; i++){
x[i] = j;
j++;
} // Einde maken van array x
//int[] y = x; // Een vierkante tabel dus het is gelijk aan x
// Eigenlijk nutteloos, aangezien ik ook 2 keer x kan gebruiken
for(int l = 0; l < x.length; l++){ // De 1e for-loop zorgt voor de verticale telling
if (l == 0 || l ==1){ // Beetje opmaak erbij. Dit is voor de 1e rij. t.b.v. de overzichtelijkheid
for (int k = 0; k < x.length; k++){
System.out.print (fline + fline);
}
System.out.println(fline);
} else { // Opmaak voor elke andere rij
for (int k = 0; k < x.length; k++){
System.out.print (line + line);
}
System.out.println(line);
}
System.out.print("|| "); // Elke eerste rij begint met een ||
for(int j = 0; j < x.length; j++){ // De 2e for loop voor de horizontale sommen
if ((x[j] * x[l]) <= 9){ // Zodat het rijtje netjes onder elkaar komt
System.out.print(" ");
}
if ((x[j] * x[l]) <= 99){ // Voor het geval we met getallen boven de 100 te maken krijgen
System.out.print(" ");
}
System.out.print(x[j]*x[l]); // De uitkomst van de horizontale rij
if (j == 0 ) {
System.out.print(" || ");
} else {
System.out.print(" | ");
}
}
System.out.println();
}
System.out.print("---");
for (int k = 0; k < x.length; k++){
System.out.print (line + line);
}
System.out.println();
}
public static String readString() {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in), 1);
String String = " ";
try {
String = br.readLine();
} catch (IOException ex) {
System.out.println(ex);
}
return String;
}
public static int readInt() {
return Integer.parseInt(readString());
}
public static void main(String [] args){
// Het echte uitvoer gedeelte. Dit houden we zo klein mogelijk..
System.out.println("Geef een getal voor de tabelgrootte, gevolgd door een ENTER:");
System.out.println("(12 is voor je dos venster de max;)");
int maxx = test.readInt();
test.tabel(maxx); // Maak de tabel met de ingelezen waarde
if (maxx >= 13) {
System.out.println();
System.out.println("Ik zei toch dat ie nie breder kon !!:P");
}
}
} |
Natuurlijk zitten er dingen in die beter kunnen, maar ik ben nog maar net bezig met java, en ik vind dat ik al vrij ver gekomen ben.
Its me...