Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [java]ordine array

  1. #1
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177

    [java]ordine array

    Ciao sto cercando di scrivere un programma per ordinare un array,con input inseriti da terminale,il più semplice possibile.
    Il codice è:

    codice:
    /** array crescente*/
    import java.util.Arrays;
    import java.util.Scanner;
    class ArrayCrescente1{
    public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    System.out.println("inserisci i numeri");
    int numeri=sc.nextInt();
    int g[]=new int[numeri];
    Arrays.sort(g);
    for (int pos=0;pos<g.length;pos++){
        g[pos]=sc.nextInt();
    System.out.println(g[pos]);
         }
    }
    }
    Solo che il programma in output non ordina niente .Posso usare array.sort anche con input che inserisco da terminale?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da el92 Visualizza il messaggio
    Posso usare array.sort anche con input che inserisco da terminale?
    Certo ... ovviamente (anche perché le due cose non c'entrano niente tra di loro!). Il punto è che istanzi un array di tot elementi (inizialmente sono tutti 0), poi ordini e poi chiedi i numeri.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177
    ciao grazie x la risposta una sola domanda: nell programma sopra
    codice:
    System.out.println("inserisci i numeri");
    int numeri=sc.nextInt();
    int g[]=new int[numeri];
    se metto da terminale numeri=1 2 3 , questo pezzo di codice vuol dire che g ha dimensione 1 poi dimensione 2 e poi dimensione 3, oppure vuol dire che g è formato da 1,2,3?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da el92 Visualizza il messaggio
    se metto da terminale numeri=1 2 3 , questo pezzo di codice vuol dire che g ha dimensione 1 poi dimensione 2 e poi dimensione 3, oppure vuol dire che g è formato da 1,2,3?
    Se usi nextInt() innanzitutto i token (i numeri) possono essere separati da qualunque spazio e/o newline.
    Insomma, per es. 3 nextInt di seguito scrivere:

    1 2 3<invio>
    oppure
    1<invio>
    2<invio>
    3<invio>

    è la stessa cosa.

    Il primo nextInt è per la dimensione N, poi ci sono N valori. Tutto qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177
    ok un ultima domanda: avendo un array di 7 elementi ed inserendo da input es:1 2 3 0 (il mio programma termina dopo aver inserito 0)il programma stampa quattro 0 e poi 1 2 3. Perchè 1 2 3 sono alle ultime posizioni dell'array? non dovrebbero essere nelle prime?

  6. #6
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Beh se ordini l'array in modo crescente, direi proprio di no! I numeri che non inserisci vengono contati come zeri, quindi rimangono quattro zeri e poi 1, 2, 3. Quando li ordini in modo crescente ottieni proprio 0 0 0 0 1 2 3.


  7. #7
    Utente di HTML.it L'avatar di el92
    Registrato dal
    Dec 2014
    Messaggi
    177
    si infatti nel programma li ordino in modo crescente...adesso ho capito grazie 1000

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.