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

Tablica Java

Object Storage Arubacloud
0 głosów
464 wizyt
pytanie zadane 30 marca 2018 w Java przez fyrr Użytkownik (910 p.)
edycja 30 marca 2018 przez fyrr

Chciałem napisać prosty program do iterowania po tablicy 10cio elementowej z tym, że elementy tablicy miały być wartościami wpisanymi przez użytkownika. Mam coś takiego: 

package tab1;
import java.util.Scanner;
public class Tab1 {

    public static void main(String[] args) {
    float tablica[] = new float[10];
    int i;
    Scanner skan = new Scanner(System.in);
    System.out.println("Podaj kolejne wartości tablicy: ");
    for (i=0; i<tablica.length; i++) {
       
       tablica[i] = skan.nextFloat();
      
        
        }
    System.out.println("Elementy tablicy: "+tablica);
    }
    
    
    
}

 Chcę wyświetlić zawartość tablicy po wpisaniu wartości, ale w konsoli dostaję to:  Kolejne wartości tablicy: [F@33e5ccce 

Na internecie jest dużo przykładów, ale z tablicami, których wartości są z góry ustalone. Nie wiem, gdzie popełniłem tu błąd.

3 odpowiedzi

+1 głos
odpowiedź 30 marca 2018 przez Qwerty96 Stary wyjadacz (13,580 p.)
Wypisuj kolejne wartości z tablicy w pętli tak jak to robisz z wpisywaniem.
+1 głos
odpowiedź 30 marca 2018 przez mbabane Szeryf (79,280 p.)

Można skorzystać z metody statycznej toString() umiesczonej w klasie Arrays:

System.out.println( Arrays.toString(tbl) );

Innym sposobem jest skorzystanie z dobrodziejstw javy 8 i przekształcenie tablicy w stream by później użyć metody forEach, przekazując jej referencje do metody println():

Arrays.stream(tbl)
      .forEach(System.out::println);

 

–1 głos
odpowiedź 30 marca 2018 przez mibdbz Gaduła (4,300 p.)
Spowodowane jest to tym, że wyświetla Ci się adres miejsca w pamięci w którym zaczyna się tablica. Możesz przejść w pętli przez każdy element lub zrobić tak jak robi to mbabane.
komentarz 30 marca 2018 przez Wiciorny Ekspert (270,110 p.)
To nie jest adres pamięci.... F@33e5ccce  oznacza generowany hashCode obiektu... ( dokładnie wartości, po @... natomiastF oznacza wrapper typu )

Podobne pytania

–1 głos
2 odpowiedzi 498 wizyt
pytanie zadane 29 grudnia 2019 w Java przez kalendarmenn Obywatel (1,270 p.)
0 głosów
1 odpowiedź 260 wizyt
pytanie zadane 25 czerwca 2019 w Java przez MegaaSoft Obywatel (1,430 p.)
0 głosów
0 odpowiedzi 104 wizyt
pytanie zadane 20 maja 2019 w Java przez Roman1212 Początkujący (460 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...