Wątek przeniesiony 2017-11-30 10:10 z Java przez bogdans.

Aplikacja licząca konkretne dane

0

Potrzebuje utworzyc aplikacje ktora dla wczytanych danych takich jak liczba kolumn, liczba wiersza i nr wiersza obliczy sume elementow tej tablicy dla wiersza o wczytanym numerze. Ktoś wcześniej mi napisał o użyciu metod JOption ale nie za bardzo to znam i nie wiem w sumie jak się za to zabrać ;/
Moze da sie jakos inaczej niz JOptioninput itp?

0

Ehh nikt nie ma pomysłu na to? ;/

0

Użyj klasy Scanner.

0

A moglby ktos, kto wie jak napisac, jakby ten program wygladal uzywajac JOptionPane, show input show message?

0

Pokaż co już sam napisałeś.

0

Oprócz wypisania danych z kolumn to nic bo nie mam pojecia jak korzystac z JOption. Gdybym sam napisał to nie pytałbym na forum jak to wykonac...

0

Przecież napisałeś: " Moze da sie jakos inaczej niz JOptioninput itp?"
Zaproponowałem Ci klasę Scanner, skorzystaj z niej.

0

Double x;
String Wiersze = "1 2 3 4";
Scanner skaner = new Scanner(Wiersze);

              while(skaner.hasNextDouble()) {
              x = skaner.nextDouble();
              System.out.print(x + " ");
              }
         Double y;
         String Kolumny = "1 2 3 4";
         Scanner skaner2 = new Scanner (Kolumny);
                           while(skaner.hasNextDouble()) {
                               y = skaner.nextDouble();
                               System.out.print(y + " ");
                           }

Cos kombinuje z pomoca neta, ale prawde mowiac juz sie gubie. Nie wiem co zrobić aby móc wybrać wiersz dla ktorego program policzy sumę...

0

Ja rozumiem że Google to takie Evil Corp i każdy się boi z nim wchodzić w bliższą interakcję, dlatego proszę:

Algorytmu Ci nie będę zdradzał, bo liczę że dasz sobie z nim radę po zapoznaniu się z powyższymi artykułami.

0

public static void main(String[] args)
{
int[] wiersze = new int[3];
wiersze[0] = 1;
wiersze[1] = 2;
wiersze [2]= 3;
int zmienna = wiersze[1];
}
{
int [] kolumny = new int [3];
kolumny [0]=1;
kolumny [1]=2;
kolumny [3]=3;
}
{
String zmienna;
Scanner odczyt = new Scanner(System.in);
zmienna = odczyt.nextLine();

  System.out.println(" " +zmienna);

         
}

}

Nie wiem czy dobrze kombinuje, ale program nie zawiera teoretycznie bledow tylko nie wyswietla nic. Jak teraz zrobic aby uzyskac to co chcialem? Czyli dla wczytanych danych (dla wiersza o wczytanym numerze) obliczyć sumę elementow tablicy?

0

Tablica musi być dwuwymiarowa, wypełniać można losowymi wartościami.

public static void main(String[] args)
{
     int[][] tab = new int[3[[3];
     Random r = new Random();
     for(int i = 0; i < tab.length; i++)
     { 
         for(int j = 0; j < tab[0].length; j++)
         {
              tab[i][j] = r.nextInt(10);
         }
    }
    Scanner odczyt = new Scanner(System.in);
    System.out.print("Numer wiersza (od 0 do 2): ");
    int wiersz = odczyt.nextInt();
    int suma = 0;
    for(int j = 0; j < tab[wiersz].length; j++)
    {
        sum += tab[wiersz][j];
    }
   System.out.println("suma = " + suma);
}
0

O właśnie o takie cos mi chodzilo. Uzyte tu zostalo random a gdybym chcial by dane byly konkretne to zamieniam linijke random na tab[0] = 1
tab[1]=5 itp?

0

Na coś w rodzaju

tab[i][j] = 666;
0
tab[i][j] = r.nextInt(10);

ta linijka teraz za to nie wspolgra bez randomu po skasowani r, tez nic

0

Czekaj, usunąłeś "r" z "r.nextInt(10)"?

To jak ma to działać, jeśli próbujesz użyć w takim wypadku metody obiektu, którego nie ma, czyli czegoś, czego kompilator nie jest w stanie przetworzyć?

Jeśli chcesz użyć konkretnych danych, zamiast wygenerowanych za pomocą losowania, to musisz je w jakiś sposób wprowadzić. Na przykład w trakcie działania programu uzupełniać tablicę na bieżąco danymi od użytkownika, pobierać je z pliku albo na chama zakodować na sztywno(tylko w takim wypadku musisz albo znać rozmiar tablicy, albo mieć mały zestaw, który będzie powtarzalnie wbijał zestaw danych w porcjach).

Zajrzyj do dokumentacji i zrozum działanie narzędzi, których używasz, bo teraz kombinujesz trochę na ślepo :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1