• In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 12 di 12

Discussione: Help Me Problema Programmino Java

Cambio titolo
  1. #1
    ~ Over My Head ~ L'avatar di Finalfire
    Registrato il
    06-03
    Località
    Italy
    Messaggi
    5.013

    Help Me Problema Programmino Java

    Stò studiando da poco Java (una settimana), ed ho provatoa creare qualcosina.
    COme prima cosa, un programmino per le elevazioni a potenze (roba da lattanti, cmq per iniziare...)..
    Ecco il code:
    Codice:
    // Elevazioni - 15/12/2004
    import java.io.InputStreamReader;
    import java.io.BufferedReader;
    import java.io.IOException;
    
    public class NumeriInt
    {
        public static void main(String args[])
    	{
    	    InputStreamReader reader = new InputStreamReader (System.in);
    		BufferedReader myInput = new BufferedReader (reader);
    		String var1 = new String();
    		String var2 = new String();
    		    System.out.println("Programma Calcolo Elevazioni a Potenze");
    			System.out.print("Inserire Numero Base: ");
    		try {
    			var1 = myInput.readLine();
    			} catch (IOException e) {
    			    System.out.println("Errore: " + e);
    			    System.exit(-1);
    		    }
    			System.out.print("Inserire Elevazione: ");
    		try {
    		    var2 = myInput.readLine();
    			} catch (IOException e) {
    			    System.out.println("Errore: " + e);
    			    System.exit(-1);
    			}
    		int num1;
    		num1 = var1.parseInt();
    		int num2;
    		num2 = var2.parseInt();
    		int num3;
    		num3 = num1 ^ num3;
    			System.out.print("Risulato: " + num3);
    	}
    }
    Solo che, compilandolo, ma dà due errori alle ultime due righe, cioè a var1.parseInt() e a var2.parseInt()
    Mi segna come errore il punto, Unable to resolve Symbol... Eppure, il parseInt(); non è una funzione che permette di trasformare le Stringhe in num interi?

  2. #2
    Utente L'avatar di pentothal
    Registrato il
    10-02
    Località
    Firenze
    Messaggi
    4.692
    Ho provato a dare una occhiata al javadoc, ma nella classe string non trovo il parseInt (a meno che non lo erediti da chissà quale classe... )
    Cmq un metodo alternativo alla convesione da stringhe ad interi è il seguente:
    Codice:
    String var; // supponiamo che in 'var' vada il contenuto del readLine()
    int res = Integer.valueOf(var).intValue();

  3. #3
    ~ Over My Head ~ L'avatar di Finalfire
    Registrato il
    06-03
    Località
    Italy
    Messaggi
    5.013
    Citazione pentothal
    Ho provato a dare una occhiata al javadoc, ma nella classe string non trovo il parseInt (a meno che non lo erediti da chissà quale classe... )
    Cmq un metodo alternativo alla convesione da stringhe ad interi è il seguente:
    Codice:
    String var; // supponiamo che in 'var' vada il contenuto del readLine()
    int res = Integer.valueOf(var).intValue();

    Grazie, provo subito e ti dico.

    (ps, ma non sei su msn? )

  4. #4
    Utente L'avatar di Phoenix
    Registrato il
    10-02
    Località
    Midwich Street
    Messaggi
    6.699
    Se non vado errato, parseInt è direttamente un metodo della classe Integer. Prova con:
    Codice:
    [...]
    int num1;
    	num1 = Integer.parseInt(var1);
    int num2;
    	num2 = Integer.parseInt(var2);
    [...]


    He who is not bold enough to be stared at from across the abyss
    is not bold enough to stare into it himself.

  5. #5
    ~ Over My Head ~ L'avatar di Finalfire
    Registrato il
    06-03
    Località
    Italy
    Messaggi
    5.013
    Grazie Phoenix, ora provo.

    Sotto consiglio del guru pentothal, ho provato così:
    Codice:
    [...]
    int num1;
    		num1 = Integer.valueOf(var1).intValue();
    		int num2;
    		num2 = Integer.valueOf(var2).intValue();
    		int k;
    		for (k=0;k<num2;k++)
    		{
    		    System.out.print("Risultato: "+(num1*=num1));
    		}
    Mettiamo che var1 sia il num base (4) e var2 l'esponente (2).
    Mi dà come risultato:
    Codice:
    Risultato: 16Risultato: 256
    da dove è uscito quello evidenziato??

  6. #6
    Utente L'avatar di pentothal
    Registrato il
    10-02
    Località
    Firenze
    Messaggi
    4.692
    Citazione Finalfire
    Grazie Phoenix, ora provo.

    Sotto consiglio del guru pentothal, ho provato così:
    Codice:
    [...]
    int num1;
    		num1 = Integer.valueOf(var1).intValue();
    		int num2;
    		num2 = Integer.valueOf(var2).intValue();
    		int k;
    		for (k=0;k<num2;k++)
    		{
    		    System.out.print("Risultato: "+(num1*=num1));
    		}
    Mettiamo che var1 sia il num base (4) e var2 l'esponente (2).
    Mi dà come risultato:
    Codice:
    Risultato: 16Risultato: 256
    da dove è uscito quello evidenziato??
    Hai messo il system.out.println all'interno del for, quindi tutte le volte che effettua una iterazione stampa a video il risultato "parzilale"... soluzione: metti il system out fuori dal ciclo.
    Codice:
    for (k=0;k<num2; k++)
       num1*=num1;
    System.out.print("Risultato: "+num1);

  7. #7
    ~ Over My Head ~ L'avatar di Finalfire
    Registrato il
    06-03
    Località
    Italy
    Messaggi
    5.013
    Ouch! Grazie guru

    Altra storia...
    Ho chiesto ad un mio amico che programma da moltissimo tempo (è stato lui il mio master) mi ha detto di provare con Math.pow();
    Ho provato, ma mi dà un errore (mi viene così: pow(double,dobule)) cmq, ora provo quello che hai detto tu, guru.

  8. #8
    ~ Over My Head ~ L'avatar di Finalfire
    Registrato il
    06-03
    Località
    Italy
    Messaggi
    5.013
    Grazie all'aiuto di pentothal "GuRu" ho risolto i miei problemi Posto il programmino finito! xD
    Codice:
    // Elevazioni - 15/12/2004
    import java.io.InputStreamReader;
    import java.io.BufferedReader;
    import java.io.IOException;
    
    public class NumeriInt
    {
        public static void main(String args[])
    	{
    	    InputStreamReader reader = new InputStreamReader (System.in);
    		BufferedReader myInput = new BufferedReader (reader);
    		String var1 = new String();
    		String var2 = new String();
    		    System.out.println("Programma Calcolo Elevazioni a Potenze");
    			System.out.print("Inserire Numero Base: ");
    		try {
    			var1 = myInput.readLine();
    			} catch (IOException e) {
    			    System.out.println("Errore: " + e);
    			    System.exit(-1);
    		    }
    			System.out.print("Inserire Elevazione: ");
    		try {
    		    var2 = myInput.readLine();
    			} catch (IOException e) {
    			    System.out.println("Errore: " + e);
    			    System.exit(-1);
    			}
    		int num1;
    		num1 = Integer.valueOf(var1).intValue();
    		int num2;
    		num2 = Integer.valueOf(var2).intValue();
    		int ris;
    		for (ris=0; ris<num2-1; ris++)
    		num1*=num1;
    		    System.out.print("Risultato: " + num1);
    	}
    }
    Mancano commenti ed altro, ma

  9. #9
    ~ Over My Head ~ L'avatar di Finalfire
    Registrato il
    06-03
    Località
    Italy
    Messaggi
    5.013
    ... Ma, naturalmente, non và!
    Compilato e fatto partire, il programmino restituisce soltanto il risultato di x^y dove y = 2
    Se, per esempio fosse 4^3, non restituisce 64, ma il famigerato 256 :\

  10. #10
    Utente L'avatar di pentothal
    Registrato il
    10-02
    Località
    Firenze
    Messaggi
    4.692
    eccerto che non va! ho scritto una cazzata... infatti col ciclo che ti ho fatto fare si sporca la variabile num1 che contiene la base! Il risultato parziale va messo in una variabile d'appoggio che alla fine del ciclo conterrà il risultato:
    Codice:
    int r=num1;
    for(int i=1; i<num2; i++)
       r*=num1;
    System.out.println("Risultato:"+r);
    azz, son proprio difori... :P

  11. #11
    ~ Over My Head ~ L'avatar di Finalfire
    Registrato il
    06-03
    Località
    Italy
    Messaggi
    5.013
    guru così non si fà :P

    Cmq, ho risolto tutto con un math.pow()

  12. #12
    violentissimo L'avatar di [thegreatdeceiver]
    Registrato il
    09-03
    Località
    in un buco di culo
    Messaggi
    1.909
    Citazione Phoenix
    Se non vado errato, parseInt è direttamente un metodo della classe Integer. Prova con:
    Codice:
    [...]
    int num1;
    	num1 = Integer.parseInt(var1);
    int num2;
    	num2 = Integer.parseInt(var2);
    [...]
    Esatto.

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •