• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

błąd w zapisie pliku do tablicy java

0 głosów
61 wizyt
pytanie zadane 26 listopada 2018 w Java przez mn130496 Gaduła (3,080 p.)

Witam

jakiś czas temu zacząłem się uczyć języka java i na zajęciach dostałem zadanie o treści: Zmodyfikuj plik z zadania 4, wczytaj wszystkie wartości z pliku do tablicy. W zadaniu 4 chodziło o to , żeby utworzyć tablicę 10x10 , wypełnić ją losowymi wartościami i zapisać ją do pliku.Do zadania 5 napisałem następujący kod programu:

package lab6;
import java.util.Random;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
public class zad5 {
	public static void main(String[] args)throws IOException {
		//deklaracja tablicy i metody losującej.
		int[][] zapis = new int[10][10];
		String[][] odczyt = new String[10][10];
		Random losuj = new Random();
		//zapełnienie tablicy zapis.
		for(int i=0; i<zapis.length; i++) {
			for(int j=0; j<zapis.length; j++) {
				zapis[i][j] = losuj.nextInt(51) +99;
			}
		}
		//Wyświetlenie tablicy zapis.
		for(int i=0; i<zapis.length; i++) {
			for(int j=0; j<zapis.length; j++) {
				System.out.print(zapis[i][j] + " ");
			}
			System.out.println();
		}
		// zapis do pliku.
	String fileName = "Tablica.txt";
	FileWriter fileWriter = null;
	try {
		fileWriter = new FileWriter(fileName);
		//zapis tablicy do pliku csv.
		for(int i=0; i<zapis.length; i++) {
			for(int j=0; j<zapis.length; j++) {
				fileWriter.write(zapis[i][j] + " \n");
			}
		}
	}catch (IOException ex) {
		System.out.println("Problem z dostępem do pliku");
	}finally {
		if(fileWriter == null) {
			System.out.println("Problem");
		}else {
			fileWriter.close();
		}
		}
	System.out.println("Odczyt z pliku");
	//odczyt z pliku.
	BufferedReader bf = null;
	try {
		bf = new BufferedReader( new FileReader(fileName));
		String linia = null;
		do {
			linia = bf.readLine();
			if(linia !=null) {
				for(int i=0; i<odczyt.length; i++) {
					for(int j=0; j<odczyt.length; j++) {
						odczyt[i][j] = linia;
					}
				}
			}
		}while(linia !=null);
		//Wyświetlenie tablicy odczyt.
		for(int i=0; i<odczyt.length; i++) {
			for(int j=0; j<odczyt.length; j++) {
				System.out.println(odczyt[i][j]);
			}
		}
	}catch(IOException ex) {
		
	}finally {
		
	}
}
}
	

ale wydaje mi się , że program nie działa poprawnie.Chodzi o to , że program losuje mi liczby do tablicy  i zapisuje mi do pliku i dotąd jest wszystko ok ale gdy zapisuję ten plik do tablicy to ta tablica źle mi się wypełnia chodzi o to , że program losuje i zpisuje liczby np 128 
122 
114 
112 
118 
100 
122 
111 
126 
123 
114 
136 
146 
107 
102 
138 
121 
111 
100 
119 
124 
138 
122 
107 
101 
131 
142 
100 
122 
116 
117 
127 
125 
133 
116 
107 
133 
126 
138 
142 
125 
101 
140 
130 
109 
148 
99 
126 
119 
104 
107 
116 
108 
117 
129 
135 
139 
146 
102 
140 
104 
133 
142 
131 
100 
146 
132 
140 
135 
104 
105 
100 
123 
130 
131 
104 
147 
101 
140 
111 
128 
135 
130 
121 
140 
111 
110 
130 
106 
104 
110 
144 
145 
103 
109 
110 
140 
106 
134 
126 

ale jak zapisuje plik do tablicy to wygląda to tak że zapisuje mi z pliku tylko ostatnią cyfrę np jak ostatnia jest 126 t do tablicy zapisuje się ciągle 126 jak 108 to 108 itd. Czy ktoś może mi pomóc w znalezieniu i poprawie błędu żeby wszystko działało jak należy bo nie mogę sobie z tym poradzić.Z góry dziękuję

pozdrawiam.

1 odpowiedź

0 głosów
odpowiedź 26 listopada 2018 przez mibdbz Bywalec (2,060 p.)
Nie jestem pewien, ale prawdopodobnie chodzi o warunek w pętli for podczas odczytywania z pliku. Masz tam napisane, żeby odczytywać do długości tablicy(i<odczyt.lenght). A tablica jeszcze nie jest zapelniona więc nie ma takiej długości. Moim zdaniem wystarczy ta pętla do-while tylko od razu w niej użyj wcześniej zadeklarowanych zmiennych i i j.

Podobne pytania

0 głosów
0 odpowiedzi 112 wizyt
pytanie zadane 24 listopada 2018 w Java przez mn130496 Gaduła (3,080 p.)
0 głosów
1 odpowiedź 328 wizyt
pytanie zadane 23 listopada 2018 w Java przez mn130496 Gaduła (3,080 p.)
0 głosów
2 odpowiedzi 587 wizyt
pytanie zadane 14 maja 2016 w C i C++ przez Evelek Nałogowiec (28,710 p.)
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

67,210 zapytań

114,170 odpowiedzi

241,978 komentarzy

45,754 pasjonatów

Przeglądających: 318
Pasjonatów: 12 Gości: 306

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...