Comandi incompresi

di il
5 risposte

Comandi incompresi

Scusatemi se abuso della vostra, ma potete spiegarmi questi 4 comandi che non riesco a comprendere?
i comandi sono:
1- vettore = (int)(3200*Math.random()); - quello che non capisco è "(int)" e il "3200*" - il comando non dovrebbe essere Math.random(vettore)?
2 - System.out.print("\t"); - chi è "t" che non lo nomina mai?
3 - System.out.println();
4 - inversa = inversa + s.charAt(i); - qui non dovrebbe essere inversa(i) = inversa(i) + s.charAt(i)?
Il primo si trova nel programma "memoria", il 2 e 3 si trovano nel programma tabelline mentre il 4 in invertitore:
Programma memoria:
public class memoria{
public static void main(String argv[]){

long somma = 0;
long media = 0;

int mega = 30;
int dim = mega*1048576/4;
int[] vettore = new int[dim];
int i = 0;

while(i<vettore.length){
vettore = (int)(3200*Math.random());
i = i + 1;
}

int j = 0;
while(j<vettore.length){
somma = somma + vettore[j];
j = j + 1;
}

media = somma/vettore.length;

System.out.print("la somma del vettore è: ");
System.out.println(somma);
System.out.print("la media dei componenti di vettore è: ");
System.out.println(media);

}
}
Programma Tabelline:
public class Tabelline {

public static void main(String argv[]) {
int[][] tabellina = new int[11][11];
int i = 1;
int j = 1;

while(i<=10) {
while(j<=10) {
int prodotto = i*j;
tabellina[j] = prodotto;
j = j + 1;
}
i = i + 1;
j = 1;
}

i = 1;
j = 1;
while(i<=10) {
while(j<=10) {
int prodotto = i*j;
System.out.print(tabellina[j]);
System.out.print("\t");
j = j + 1;
}

i = i + 1;
j = 1;
System.out.println();
}
}
}
Programma invertitore:
import javax.swing.*;
public class Invertitore{
public static void main(String argv[]){

String s = JOptionPane.showInputDialog(null,"INSERISCI QUI LA FRASE DA INVERTIRE");
s = s.trim();
String inversa = "";

for(int i = s.length() - 1;i>=0; i--)
inversa = inversa + s.charAt(i);
JOptionPane.showMessageDialog(null,inversa);
}
}
Grazie....

5 Risposte

  • Re: Comandi incompresi

    totocarbone ha scritto:


    1- vettore = (int)(3200*Math.random());

    assegni alla cella i-esima del vettore un numero random moltiplicato per 3200 e lo forzi ad essere un intero

    totocarbone ha scritto:


    2 - System.out.print("\t");

    il simbolo "\t" serve per il tab. Nota che la stringa successiva a questo comando hanno un rientro a dx. Per esempio "\n" = newline, cioè a capo riga

    totocarbone ha scritto:


    3 - System.out.println();

    serve esclusivamente per andare a capo

    totocarbone ha scritto:


    4 - inversa = inversa + s.charAt(i);

    non puoi scrivere inversa(i) perché inversa non è un metodo ma una variabile di tipo String.
  • Re: Comandi incompresi

    Grazie toty, solo che non ho afferrato bene il tutto ad esempio quando dicevo inversa(i) volevo dire l'i-esimo elemento di "inversa"...grazie di nuovo!!!
  • Re: Comandi incompresi

    totocarbone ha scritto:


    Grazie toty, solo che non ho afferrato bene il tutto ad esempio quando dicevo inversa(i) volevo dire l'i-esimo elemento di "inversa"...grazie di nuovo!!!
    se vuoi l'i-esimo elemento di inversa allora:
    a) inversa deve essere un array quindi devi dichiararlo: String[] inversa
    b) devi usare le [] e non (), cioè inversa

    Non ho capito: alle altre domande ho risposto in modo esaustivo?
  • Re: Comandi incompresi

    Ho riguardato il codice:

    metodo trim() => restituisce una copia della stringa (in questo caso di s)senza gli spazi iniziali e finali

    metodo charAt(int index) => restituisce il carrattere corrispondente all'indice

    in altre parole:

    1) s prende un valore di tipo stringa da tastiera
    2) a questo valore vengono tolti eventuali spazi iniziali/finali con il metodo trim()
    3) inversa inizialmente ha valore vuoto (String inversa = "";)
    4) si esegue un ciclo for partendo dall'ultima posizione di s (int i = s.length() - 1)
    5) ad inversa si concatena il carattere che viene ritornato con la funzione charAt(i)

    Fai questa prova (alla stringa che inserisci in input inserisci uno spazio iniziale e uno finale tipo " ciao "):

    import javax.swing.*;
    public class Invertitore{
    public static void main(String argv[]){

    String s = JOptionPane.showInputDialog(null,"INSERISCI QUI LA FRASE DA INVERTIRE");
    s = s.trim();
    System.out.println(s);
    String inversa = "";

    for(int i = s.length() - 1;i>=0; i--) {
    inversa = inversa + s.charAt(i);
    System.out.println(inversa);
    }
    JOptionPane.showMessageDialog(null,inversa);
    }
    }

    con quei 2 System.out.println dovresti avere le idee + chiare

    P.S.: è molto utile

    Ciao
  • Re: Comandi incompresi

    Scusami toty se rispondo con ritardo ma purtroppo lavoro, cerco di ritagliarmi un po di spazio per studiare e non sempre ci riesco... Domani cercherò di dargli un occhiata e ti farò sapere... Grazie Tanto, mi state dando una mano grandiosa voi del Forum...
Devi accedere o registrarti per scrivere nel forum
5 risposte