Wątek przeniesiony 2014-12-26 12:52 z Java przez bogdans.

Wyświetlenie liczb wraz z danym napisem, które nie są podane w tablicy

0

Dzień dobry
Mam mały kłopot, otóź
mam taką oto tablicę

int lp1[] = {0,  6, 7,   10 };

chce, zeby program wyświetlił mi liczby od 0 do 10 tylko, że liczby, które są tablicy "lp1" dopisał napis "tab" , to już jest,
ale liczby, które nie są ujęte tablicy "lp1" wyświetlił te liczby i do liczb nie ujętych w tablicy "lp1" dopisał pusta"
np:
jest takl

run:
0 tab
6 tab
7 tab
10 tab

a ja chce, żeby było tak:

0 tab
1 pusta
2 pusta
3 pusta
4 pusta
5 pusta
6 tab
7 tab
8 pusta
9 pusta
10 tab

oto mój kod

  public static void main(String[] arg)
    {
        int lp1[] = {0,  6, 7,   10 };
int c;
for(int d=0;d<lp1.length;d++)
{
     
  System.out.println(lp1[d] + " tab");
}

próbowałem instrukcją if oraz operatorami logicznymi, ale nic mi nie wychodzi
moze wy mi coś poradzicie i pomozecie
z góry dziekuje bardzo za odpowiedz

0

Możesz użyć metody contains(), którą można wywoływać na kolekcjach Javowych. Więc najpierw musisz przekształcić swoją tablicę na obiekt kolekcji (np. lista, co możemy osiągnąć stosując metodę Arrays.toList(tab)). Możesz teraz wstawić do pętli powyższą konstrukcję by sprawdzać, czy dana wartość iteracji występuje w tablicy, i w zależności od tego dopisywać odpowiedni String.

0

Skąd się biorą liczby w pierwszym i ostatnim wierszu

0 tab
...
10 tab

To zawsze będą liczby 0 i 10? A może to najmniejsza i największa liczba w tablicy?

0
public static void main(String[] arg)
  {
   int tab[]={0,6,7,10}; // muszą być posortowane
   int min=tab[0],max=tab[tab.length-1],p=0;
   for(int i=min;i<=max;++i)
     {
      while((p<tab.length)&&(tab[p]<i)) ++p;
      System.out.println(i+(tab[p]==i?" tab":" pusta"));
     }
  }
0

pytanie

bogdans napisał(a):

Skąd się biorą liczby w pierwszym i ostatnim wierszu

0 tab
...
10 tab


wynik ma wyświetlać od najmniejszej do największej, tak jak to jest pokazane. z tym tylko, że nie do skończonej n-tej tablicy, tylko do ostatniej liczby, wartości w tablicy, poczynając od poczatku pierwszej liczby, wartości w tabeli
0

dziękuje za pomoc takie łatwe, a ja nawet o tym nie pomyslałem

jeszcze raz dziekuje za pomoc

0

Dzień dobry
dziękuje wszystkim za pomoc, ale zadanie idzie do przodu, więc mam kolejny problem otóż,
chce osiągnąć ten sam efekt co w temacie, a mianowicie

po skompilowaniu programu
wynik pokazuje mi (patrz niżej:)
wynik

run:
1| 10 
5| 30 
9| 50 
15| 20 
21| 30 
BUILD SUCCESSFUL (total time: 0 seconds)

a ja chce, żeby wynik był taki jak w pierwszym poście, tylko zastosowaniem instrukcji for lub if lub while lub innych funkcji.

run:
1| 10 
2| --
3| --
4| --
5| 30 
6| --
7| --
8| --
9| 50 
10| --
11| --
12| --
13| --
14| --
15| 20
16| --
17| --
18| --
19| --
20| -- 
21| 30 
BUILD SUCCESSFUL (total time: 0 seconds)
    public static void main(String[] args) 
    {
   int[] tab0 = { 70,330,590,920,1290 }; 
    
        int min=tab0[0];
        int max=tab0[tab0.length-1];
        int ze0=0;
        int godz = 0;
        
        String wyn;
        String min0;
        int a, b, c=0;
        
        for (b = 0; b<tab0.length; b ++)
        {  
        if (tab0[b] % 60 < 10)
        min0 = ("0" + tab0[b] % 60);
        else
        min0 = (tab0[b] % 60 + " ");
        
        if (tab0[b] >= 1440)
       
           tab0[b]= 0;
       
        godz =tab0[b] / 60;
          
            if (godz==godz)
            { 
            wyn = godz + "| "+ min0;   
            }
            else 
            {
            wyn = godz + "| --";
            }
        
            System.out.println(wyn);
        } 
   }   
}

czemu chce zastosować instrukcję if , for, while, do , lub inne.
chce rozbudowac program na swój sposób

z góry dziękuje za jeszcze raz pomoc

0

W pytaniu podałeś posortowaną tablicę a teraz podałeś nieposortowaną.
Rozwiązanie jest oczywiste - posortować.

0

czyli mam posortować tablicę na przykład metoda bąbelkową lub inną metodą.
2.
a czasem tablica nie jest posortowana.
3.
Może funkcja jest, źle napisana i muszę ją poprawić.
zadanie ma na celu wyświetlenie godzin

2

Najprostszy sposób sortowania:

Arrays.sort(tab);

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