Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    4

    Difficoltà esercizio con java

    Ciao a tutti, premetto che non sono molto esperta di ciò di cui sto per scrivervi e mi scuso in anticipo se uso un linguaggio poco adatto a questo campo spero di riuscire a spiegarmi.

    Ho installato jdk e come editor uso textpad.
    L'esercizio che devo svolgere mi chiede cosa stampa il seguente programma se inserisco i numeri 2 e 3:

    import java.util.*;
    public class esempio {
    public static void main (String[] args){
    int [] vet = new int[12];
    int a,b,i;
    System.out.println("Inserire due numeri interi : ");
    Scanner sc = new Scanner(System.in);
    a=sc.nextInt();
    b=sc.nextInt();
    for ( i=0;i<10;i=i+2){
    vet[i]=a;
    vet[i+1]=b+1;
    }
    for(i=4;i<10;i=i++) {
    System.out.println(vet[i] );

    }
    }
    }

    Quando eseguo il programma inserendo entrambi i numeri non ottengo nessun risultato nonostante il programma appena descritto sia corretto ( è un testo d'esame) e non ci sono errori durante la compilazione.
    Perchè accade ciò? Sembra che java non riconosca i vettori e i cicli for. Per altri programmi più semplici non ci sono stati problemi.
    Grazie in anticipo

  2. #2
    Dovrebbe stampare 242424

    Comunque sembrerebbe funzionare...non è che quando lo compili e avvi si chiude subito la finestra?

    P.S. ha sbagliaoto sezione...c'è un sottoforum che si chiama "Java", dovevi postare li

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    4
    grazie per la risposta.
    No no, per fortuna sono riuscita a risolvere i vari problemi dell'installazione di java.
    Dopo aver aperto il promt di dos faccio il controllo degli errori scrivendo javac esempio.java successivamente scrivo java esempio e poi mi viene chiesto di inserire due numeri interi, li inserisco e ho come risultato 2 ripetuto almeno una cinquantina di volte.Ottengo lo stesso risultato utilizzando textpad.
    Il risultato dovrebbe essere
    KKKKK2
    7
    2
    9
    2
    11


    come faccio a spostare il post nell'altra sezione?

  4. #4
    Originariamente inviato da elirya
    faccio il controllo degli errori
    semmai compili, voce del verbo compilare (anche se è il compilatore a farlo).
    Il risultato dovrebbe essere
    KKKKK2
    7
    2
    9
    2
    11
    ma quando mai? Da dove provengono quelle K? E poi i numeri del vettore sono sempre gli stessi: a (cioè 2) e b+1 (cioè 4)

    come faccio a spostare il post nell'altra sezione?
    Non saprei...ti ho solo avvisata

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    4
    ok compilo l'avevo già scritto che alcuni termini non li conosco proprio e uso un linguaggio terra terra.
    Tu hai provato ad eseguire il programma con il compilatore?
    non ci sto capendo molto, nei risultati dell'esercizio ho come risultato quello che ho scritto prima. In ogni caso non capisco perchè mi da come risultato un casino di 2 e basta :/

  6. #6
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Se vuoi vedere 242424 devi usare System.print invece di System.println.
    System.println stampa caratteri UNICODE, il valore vet[i] viene letto come fosse un carattere UNICODE.
    2 e 4 hanno valore <control>.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2012
    Messaggi
    4
    chiedo perdono.Oggi sono fusa e mi sono dimenticata che nella riga 11 ,dopo
    for ( i=0;i<10;i=i+2){
    dovevo aggiungere:
    System.out.print("K")

    Scusami tanto per l'errore di distrazione :/

  8. #8
    Originariamente inviato da ramy89
    Se vuoi vedere 242424 devi usare System.print invece di System.println.
    System.println stampa caratteri UNICODE, il valore vet[i] viene letto come fosse un carattere UNICODE.
    2 e 4 hanno valore <control>.
    Ma leggendo qui: http://docs.oracle.com/javase/1.4.2/...m.html#println()

    println

    public void println(int x)
    Print an integer and then terminate the line. This method behaves as though it invokes print(int) and then println().
    Parameters:
    x - The int to be printed.

    println

    public void println()
    Terminate the current line by writing the line separator string. The line separator string is defined by the system property line.separator, and is not necessarily a single newline character ('\n').
    non ho trovato riferimenti a quello che haii detto tu

    L'output è (in effetti l'avevo scambiato con print()):
    2
    4
    2
    4
    2
    4

  9. #9
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    E allora stampa solo i "K" perchè non si sa a cosa si associa il carattere <control>, forse su certi sistemi operativi stampa qualcos' altro oltre ai cinque "K".

  10. #10
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Originariamente inviato da ardito86
    Ma leggendo qui: http://docs.oracle.com/javase/1.4.2/...m.html#println()



    non ho trovato riferimenti a quello che haii detto tu

    L'output è (in effetti l'avevo scambiato con print()):
    2
    4
    2
    4
    2
    4
    Ho appena controllato, hai ragione, mi confondevo.
    A questo punto se l' output è:
    codice:
    KKKKK2
    7
    2
    9
    2
    11
    E' chiaro perchè ha stampato i cinque "K", ma per i numeri che non sono 242424 qua probabilemente c'è un errore di copiatura del codice dal testo d' esame.
    Per dare quell' output doveva essere una cosa del genere:
    codice:
    for ( i=0;i<10;i=i+2){
    vet[i]=a;
    vet[i+1]=b+i+4;

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 © 2025 vBulletin Solutions, Inc. All rights reserved.