Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163

    [JAVA]esercizio per scuola...non va e nn capisco il perchè....help plz

    ciao a tutti,
    ho un piccolo problema con un esercizio di scuola...che mi serviva per prepararmi ad un compito...
    ma, purtroppo, non funge e non riesco a capirne il motivo

    per chiarire meglio la situazione, vi posto anche un'immagine..


    in poche parole, il programma deve simulare il passaggio da uno stato all'altro,contare quante volte è passato per uno stato e calcolare, infine, la media e la varianza su 5 prove composte da 10000 "giri"...
    le condizioni per passare da uno stato all'altro è la probabilità che ho segnato sulle varie freccie...

    ecco il programma:

    CLASSE STATI:

    public class Stati {
    private double var[]=new double[3],med[]=new double[3];
    public void Stati() {
    int stato=0,java,i,j,num;
    int freqAss[]=new int[3];
    Random rd=new Random();
    for(j=0;j<5;j++){
    for(i=0;i<3;i++)
    freqAss[i]=0;
    stato=0;
    for(i=0;i<1000;i++){
    switch(stato){
    case 0: num=rd.nextInt(4);
    if(num<=2){
    freqAss[0]++;
    System.out.println("\nResta in stato 0");
    stato=0;
    }
    else{
    freqAss[1]++;
    stato=1;
    System.out.println("\nVa in stato 1");
    }
    break;
    case 1: num=rd.nextInt(3);
    if(num==0){
    freqAss[1]++;
    stato=1;
    System.out.println("\nResta in stato 1");
    }
    else
    if(num==1){
    freqAss[0]++;
    stato=0;
    System.out.println("\nVa in stato 0");
    }
    else{
    freqAss[2]++;
    stato=2;
    System.out.println("\nVa in stato 2");
    }
    break;
    case 2: num=rd.nextInt(2);
    if(num==1){
    freqAss[2]++;
    stato=2;
    System.out.println("\nResta in stato 2");
    }
    else{
    freqAss[0]++;
    stato=0;
    System.out.println("\nVa in stato 0");
    }
    break;
    }
    }
    for(i=0;i<3;i++){
    med[i]+=freqAss[i]/10000;
    var[i]+=(freqAss[i]/10000)*(freqAss[i]/10000);
    }
    }
    for(i=0;i<3;i++){
    med[i]/=5;
    var[i]=var[i]/5-med[i]*med[i];
    }
    }
    public void stampa(){
    int i;
    System.out.println("\nValori statistici risultanti: ");
    System.out.println("\n------------------------------------");
    for(i=0;i<3;i++)
    System.out.println("\nStato "+i+" media: "+med[i]+" varianza: "+var[i]+"\n\n");
    }
    }

    CLASSE MAIN:

    public class Main {
    public static void main(String args[]){
    Stati rd=new Stati();
    rd.stampa();
    }
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Ho corretto il titolo. Per favore, usane di più significativi.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163
    ok sorry....

  4. #4
    Utente di HTML.it L'avatar di Cr4ckz!
    Registrato dal
    Aug 2003
    Messaggi
    163
    Ho provato a non usare le classi e metterlo tutto in un main...e funziona....
    ho capito infatti che, quando usavo le classi, nel main mi richiamava solo il metodo stampa(rd.stamapa()) senza però eseguire Stati(rd=new Stati())
    e non capisco perchè....

  5. #5
    Originariamente inviato da Cr4ckz!
    Ho provato a non usare le classi e metterlo tutto in un main...e funziona....
    ho capito infatti che, quando usavo le classi, nel main mi richiamava solo il metodo stampa(rd.stamapa()) senza però eseguire Stati(rd=new Stati())
    e non capisco perchè....
    Il costruttore di una classe non va dichiarato con un tipo:
    codice:
    Sbagliato: 
    public void Stati() 
    
    Giusto: 
    public Stati()
    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

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