[Java] Progetto - Distribuzioni Voti

Discussione in 'Java' iniziata da glprobot, 30 Giugno 2017.

  1. glprobot

    glprobot Nuovo Utente

    Registrato:
    30 Giugno 2017
    Messaggi:
    3
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Salve a tutti,

    Ho realizzato tutto l'esercizio,però mi da dei seguenti problemi:
    Ho fatto il controllo dell'input, però dopo l'if, ho inserito una stampa, si può fare qualcosa di meglio????
    Per il calcolo della percentuale, non escono i risultati, come mai??????
    Per piacere mi potete correggere questi due errori che ho fatto.
    Te nè sarei grado. Grazie

    Ecco il codice Java:

    package progetto5.oop.com;
    import java.util.*;

    public class DistribuzioneDeiVoti {

    /*Si crei una classe che rappresenta la distribuzione di voti per un dato corso.
    *Si scrivano i metodi per effettuare le seguenti attività.
    *- Assegnare il numero di studenti che hanno preso un certo voto(per ognuno dei voti A,B,C,D,F
    *- Leggere il numero di studenti che hanno preso un certo voto(per ognuno dei voti A,B,C,D,F
    *- resituire il numero totale dei voti
    *- restituire la percentuale di voti per ciascuna lettera come un intero compreso tra 0 e 100
    *- disegnare un grafico, esempio:
    *
    * 0 10 20 30 40 50 60 70 80 90 100%
    * | | | | | | | | | | |
    * **************************************************
    * ****A
    * *****************B
    * **********************C
    * **************************D
    * **********E
    * **F
    * il grafico avrà cinque barre. Ciascuna barra può essere una riga orizzontale di asterischi: il numero
    * di asterischi di una riga sarà proporzionale alla percentuale per ciascuna categoria. Se si fa in modo che un
    * asterisco rappresenti il 2% allora 50 asterischi rappresentano il 100%. si gradui l'asse orrizontale al 10 per cento
    * da 0 a 100 e si etichetti ciascuna riga con il nome della lettera corrispondente.
    *
    * per esempio, se i punteggi sono 1A 4B 6C 2D 1F il numero totale di punteggi è 14, la percentuale di A è 7, di B è 29
    * di C è 43, di D è 14 e di F è 7. la riga A conterrà 4 asterischi (7% di 50 arrotondato per eccesso) la riga B 14, la c 21
    * la D 7 e la riga F ne conterrà 4.
    * */


    private int votiA, votiB, votiC, votiD, votiE, votiF, percentuale;


    public int getVotiA() {
    return votiA;
    }


    public void setVotiA(int votiA) {
    this.votiA = votiA;
    }


    public int getVotiB() {
    return votiB;
    }


    public void setVotiB(int votiB) {
    this.votiB = votiB;
    }


    public int getVotiC() {
    return votiC;
    }


    public void setVotiC(int votiC) {
    this.votiC = votiC;
    }


    public int getVotiD() {
    return votiD;
    }


    public void setVotiD(int votiD) {
    this.votiD = votiD;
    }


    public int getVotiE() {
    return votiE;
    }


    public void setVotiE(int votiE) {
    this.votiE = votiE;
    }


    public int getVotiF() {
    return votiF;
    }


    public void setVotiF(int votiF) {
    this.votiF = votiF;
    }


    public void setPercentuale(int percentuale) {
    this.percentuale = percentuale;
    }


    public DistribuzioneDeiVoti() {
    super();
    // TODO Auto-generated constructor stub
    }


    public DistribuzioneDeiVoti(int votiA, int votiB, int votiC, int votiD,
    int votiE, int votiF, int percentuale) {
    this.votiA = votiA;
    this.votiB = votiB;
    this.votiC = votiC;
    this.votiD = votiD;
    this.votiE = votiE;
    this.votiF = votiF;
    this.percentuale = percentuale;
    }


    public void input(){
    Scanner in = new Scanner(System.in);

    System.out.println("Inserire quanti studenti hanno preso A: ");
    this.votiA = in.nextInt();
    System.out.println("Inserire quanti studenti hanno preso B: ");
    this.votiB = in.nextInt();
    System.out.println("Inserire quanti studenti hanno preso C: ");
    this.votiC = in.nextInt();
    System.out.println("Inserire quanti studenti hanno preso D: ");
    this.votiD = in.nextInt();
    System.out.println("Inserire quanti studenti hanno preso E: ");
    this.votiE = in.nextInt();
    System.out.println("Inserire quanti studenti hanno preso F: ");
    this.votiF = in.nextInt();

    if(this.votiA <= 100 && this.votiB <= 100 && this.votiC <= 100 && this.votiD <= 100 && this.votiE <= 100 && this.votiF <= 100){
    System.out.println();
    System.out.println("Gli Studenti devono essere minori di 100");
    }
    else
    System.exit(0);

    }


    public void leggistudenti(){
    System.out.println("Studenti con il voto A sono: " + this.votiA);
    System.out.println("Studenti con il voto B sono: " + this.votiB);
    System.out.println("Studenti con il voto C sono: " + this.votiC);
    System.out.println("Studenti con il voto D sono: " + this.votiD);
    System.out.println("Studenti con il voto E sono: " + this.votiE);
    System.out.println("Studenti con il voto F sono: " + this.votiF);
    System.out.println("totale voti (da A fino a F): " + this.totalevoti());
    System.out.println();
    }


    public int totalevoti(){
    int totale;
    totale =(this.getVotiA() + this.getVotiB() + this.getVotiC() + this.getVotiD() + this.getVotiE() + this.getVotiF());
    return totale;
    }

    public int percentuale_votoA(){
    int a,a1;

    a = (getVotiA() / totalevoti()); // calcolo della percentuale voto
    a1 = (a * 100);
    return a1;
    }

    public int percentuale_votoB(){
    int b;

    b = (this.votiB / this.totalevoti()) * 100;
    return b;
    }

    public int percentuale_votoC(){
    int c;

    c = (this.getVotiC() / this.totalevoti()) * 100;
    return c;
    }

    public int percentuale_votoD(){
    int d;

    d = (this.getVotiD() / this.totalevoti()) * 100;
    return d;
    }

    public int percentuale_votoE(){
    int e;

    e = (this.getVotiE() / this.totalevoti()) * 100;
    return e;
    }

    public int percentuale_votoF(){
    int f;

    f = (this.votiF / totalevoti()) * 100;
    return f;
    }

    public void stampaAF(){
    System.out.println("Voto A: " + this.percentuale_votoA() + "%");
    System.out.println("Voto B: " + this.percentuale_votoB() + "%");
    System.out.println("Voto C: " + this.percentuale_votoC() + "%");
    System.out.println("Voto D: " + this.percentuale_votoD() + "%");
    System.out.println("Voto E: " + this.percentuale_votoE() + "%");
    System.out.println("Voto F: " + this.percentuale_votoF() + "%");
    System.out.println();
    }



    public void stampaGrafico(){

    for(int i=0; i < 110; i = i + 10){ //stampa orrizontalmente a 10 a 10 le cifre
    System.out.print(i + " ");
    }

    System.out.println();

    for(int y=0; y < 110; y = y + 10){ //stampa orrizontalmente a 10 a 10 il "|"
    System.out.print(" | ");
    }

    System.out.println();

    for(int i=0; i < this.percentuale_votoA(); i++){
    System.out.print("*");
    }

    System.out.println();

    for(int i=0; i < this.percentuale_votoB(); i++){
    System.out.print("*");
    }

    System.out.println();

    for(int i=0; i < this.percentuale_votoC(); i++){
    System.out.print("*");
    }

    System.out.println();

    for(int i=0; i < this.percentuale_votoD(); i++){
    System.out.print("*");
    }

    System.out.println();

    for(int i=0; i < this.percentuale_votoE(); i++){
    System.out.print("*");
    }

    System.out.println();

    for(int i=0; i < this.percentuale_votoF(); i++){
    System.out.print("*");
    }



    }


    }
     
  2. ottofonsuppost

    ottofonsuppost Utente Attivo

    Registrato:
    10 Maggio 2016
    Messaggi:
    170
    Mi Piace Ricevuti:
    13
    Punteggio:
    18
    Questo tuo programma FA SCHIFO. innanzitutto quando si SCRIVE un programma si usano le // o */ per COMMENTARE LE PARTI DEL PROGRAMMA, in modo che la gente ed il programmatore non diventi scemo a ricostruire le intenzioni del creatore; da uno sguardo sommario si intuisce che esiste codice RIDONDANTE, in quanto non usi un METODO per compiere le stesse identiche operazioni ripetitive.
     
Sto caricando...

Condividi questa Pagina