zdravím , mám tento program a súbor matica v C a na výstupe mi nič nevypíše.
import java.io.*;
import java.util.Scanner;
public class Numbers
{
private int pocetRiadkov,pocetStlpcov;
int r = -1; // int s = -1;
File súbor = new File("C:/matica.txt");
int[][] matica = new int[3][4];
Scanner scannerSuboru = null;
{
try {
scannerSuboru = new Scanner(súbor);
for (int i = 0; i < 3; i++) {
// čítame 3 riadky
String riadok = scannerSuboru.nextLine();
Scanner scannerRiadku = new Scanner(riadok);
for (int j = 0; j < 4; j++) {
// čítame 4 čísla v každom riadku
matica[i][j] = scannerRiadku.nextInt();
}
}
} catch (FileNotFoundException ex) {
System.out.println("Súbor " + súbor.getName() + " neexistuje");
}
finally {
if(scannerSuboru!=null)
scannerSuboru.close();
}
for(int i = 0; i < pocetRiadkov; i++) {
for(int j = 0; j < pocetStlpcov; j++) {
System.out.print(matica[i][j]+ " ");
}
System.out.println();
}
}
public static void main(String[] args) {
Numbers number=new Numbers();
}
}
Fórum › Java
Kde je chyba
Nepomohlo, protože nemáš nastavené hodnoty pocetRiadkov a pocetStlpcov resp. budou nulové. Lepší pro výpis bude použití atributu length, který má každé pole:
for(int i = 0; i < matica.length; i++) {
for(int j = 0; j < matica[i].length; j++) {
System.out.print(matica[i][j] + " ");
}
System.out.println();
}
A ještě jedna připomínka - nepoužívej diakritiku v názvech proměnných, funkcí apod. Maximálně do komentářů, ale v kódu na ni radši zapomeň.
už to ide , teraz robím program kde potrebujem aby prve 2 riadky zo suboru sa nacitali do prveho pola,dalsi riadok do ineho pola , potom musim preskociť riadok a potom zasa . Neviem ako spraviť aby preskočilo riadok a ani prve dva riadky dat do pola 1 a treti do pola2.Mam len to co je v prilohe.
urobil som si pole bez núl , ale to potrebujem ešte rozdelit,aby prvé 2 prvky išli do pola 1 ,tretí do pola 2 a potom zasa ...
ked to dam vypisat,v poli 1 a poli2 sú aj nuly, alebo pri nacitavani nenacitavat riadky 4,8,12,16,20...,ale to neviem ako spraviť.
kod:for(int i = 0; i < sale_num.length; i++)
{
if(sale_num[i]!=0) skus[i]=sale_num[i];
}
for(int i = 0; i < skus.length; i++)
{
if (i%3==0 ) output[i]=skus[i];
else
input[i] = skus[i];
}
System.out.println("vystup s nulami ");
for(int j = 0; j < ARRAY_SIZE; j++)
{
System.out.println(output[j]);
}
System.out.println("vstup s nulami");
for(int j = 0; j < ARRAY_SIZE; j++)
{
System.out.println(input[j]);
}
System.out.println("Bez nul");
for(int j = 0; j< ARRAY_SIZE; j++)
{
System.out.println(skus[j]);
}
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Kde je chyba ? — založil sipeer
Kde je chyba? — založil DooFy93
Kde je chyba?? — založil Af_k
C# kde je chyba ? — založil Milan
Kde je chyba? — založil Tom@sQo
Moderátoři diskuze