welcome: please sign in
location: attachment:20091111-EsercitazioneLAB-Funzioni-SOLUZIONI.txt of InformaticaCDLmatematica

Attachment '20091111-EsercitazioneLAB-Funzioni-SOLUZIONI.txt'

Download

   1 //Si progetti un metodo statico per una classe Java che dati 3 numeri interi
   2 //(siano x,y,z) restituisca "true" se x=y+z, "false" altrimenti.
   3 //Si realizzi poi un programma che legga da input i 3 numeri e richiami
   4 //adeguatamente questa funzione.
   5 
   6 import java.util.*;
   7 
   8 public class VerificaSomma {
   9 
  10 	public static boolean controllaSomma (int a, int b, int c) {
  11 		return (a == b + c);
  12 	}
  13 		
  14 	public static void main(String[] args) {
  15 
  16 	System.out.println("Inserire tre numeri interi.");
  17 		
  18 	Scanner input = new Scanner(System.in);
  19 	int x = input.nextInt();
  20 	int y = input.nextInt();
  21 	int z = input.nextInt();
  22 	
  23 	if (controllaSomma(x,y,z))
  24 		System.out.println("Somma si");
  25 	else
  26 		System.out.println("Somma no");		
  27 	}
  28 }
  29 
  30 
  31 //////////////////////////////////////////////////////////////////////////////////
  32 
  33 
  34 
  35 
  36 //Si progetti un metodo statico per una classe Java che dati 3 numeri interi
  37 //(siano x,y,z) restituisca "true" se x=y+z OPPURE y=x+z OPPURE z=x+y 
  38 //(uno qualunque dei tre casi va bene).
  39 //Si realizzi poi un programma che legga da input i 3 numeri e richiami
  40 //adeguatamente questa funzione.
  41 
  42 import java.util.*;
  43 
  44 public class VerificaSomma1 {
  45 
  46 	public static boolean controllaSomma (int a, int b, int c) {
  47 		return (a == b + c);
  48 	}
  49 		
  50 	public static boolean controllaSomma1 (int a, int b, int c) {
  51 		return controllaSomma(a,b,c) || controllaSomma(b,a,c) || controllaSomma(c,a,b);
  52 	}
  53 		
  54 	public static void main(String[] args) {
  55 
  56 	System.out.println("Inserire tre numeri interi.");
  57 		
  58 	Scanner input = new Scanner(System.in);
  59 	int x = input.nextInt();
  60 	int y = input.nextInt();
  61 	int z = input.nextInt();
  62 	
  63 	if (controllaSomma1(x,y,z))
  64 		System.out.println("Somma si");
  65 	else
  66 		System.out.println("Somma no");		
  67 	}
  68 }
  69 
  70 
  71 //////////////////////////////////////////////////////////////////////////////////
  72 
  73 
  74 
  75 import java.util.*;
  76 
  77 //Implementare in Java un programma che simuli (in maniera molto semplice) un seggio elettorale.
  78 //In pratica si sa che ci sono 3 candidati (per semplicità siano A, B, C [maiuscoli]).
  79 //Si deve leggere da input una sequenza, i cui possibili valori sono 4: A,B,C,F. “F” è il tappo
  80 //(sta per “fine”), e si suppone che venga inserito dal presidente di seggio al termine della
  81 //giornata di voto. A seconda della lettera letta in input, si dovrà incrementare il contatore
  82 //dei voti di ciascun candidato (A,B,C).
  83 //Al termine della sequenza, si dovranno stampare i voti ricevuti da ciascun candidato.
  84 
  85 //Variante 1: in aggiunta al totale dei voti per ciascun candidato, si dia in output
  86 //anche la percentuale di ciascuno sul totale.
  87 
  88 //Variante 2: in aggiunta a quanto specificato nella variante 1, si stabilisca se almeno uno
  89 //dei tre candidati ha superato il 50% dei voti e quindi può essere dichiarato eletto,
  90 //o se invece è necessario un ballottaggio; in quest’ultimo caso, indicare quali sono i due
  91 //candidati che accederanno al ballottaggio stesso. 
  92 
  93 public class SeggioElettorale {
  94 	
  95 	// se non c'e' nessun numero strettamente minore degli altri due, 
  96 	// restituisce un numero negativo
  97 	public static int strictMin(int a, int b, int c){
  98 		if (a < b && a < c)
  99 			return a;
 100 		if (b < a && b < c)
 101 			return b;
 102 		if (c < a && c < b)
 103 			return c;
 104 		return -1;
 105 	}
 106 	
 107 	public static void main(String[] args) {
 108 
 109 		int votiA=0, votiB=0, votiC=0;
 110 		double percentA, percentB, percentC;
 111 		char voto;
 112 		Scanner input = new Scanner(System.in);
 113 		
 114 		System.out.println("Inserire la preferenza (A, B o C)  F per terminare");
 115 		voto = input.next().charAt(0);
 116 		while (voto != 'F') {
 117 			switch( voto ){
 118 				case 'A':
 119 					votiA++;
 120 					break;
 121 				case 'B':
 122 					votiB++;
 123 					break;
 124 				case 'C':
 125 					votiC++;
 126 					break;
 127 				default:
 128 					System.out.println("  VOTO NON VALIDO ");
 129 			}
 130 			System.out.println("Inserire la preferenza (A, B o C)  F per terminare");
 131 			voto = input.next().charAt(0);
 132 		}
 133 		
 134 		percentA = ((double)votiA / (votiA+votiB+votiC)) * 100;
 135 		percentB = ((double)votiB / (votiA+votiB+votiC)) * 100;
 136 		percentC = ((double)votiC / (votiA+votiB+votiC)) * 100;
 137 
 138 		System.out.println(" Candidato A - Voti  " + votiA + " ( " + percentA + "%) " );
 139 		System.out.println(" Candidato B - Voti  " + votiB + " ( " + percentB + "%) " );
 140 		System.out.println(" Candidato C - Voti  " + votiC + " ( " + percentC + "%) " );
 141 		
 142 		boolean ballottaggio = true;
 143 		if ( percentA > 50 ) {
 144 			System.out.println("Vince A");
 145 			ballottaggio = false;
 146 			}
 147 		if ( percentB > 50 ) {
 148 			System.out.println("Vince B");
 149 			ballottaggio = false;
 150 			}
 151 		if ( percentC > 50 ) {
 152 			System.out.println("Vince C");
 153 			ballottaggio = false;
 154 			}
 155 		if (ballottaggio) {
 156 			System.out.println("Necessario ballottaggio tra i seguenti candidati:");
 157 			if ( votiA == strictMin( votiA, votiB, votiC ) )
 158 				System.out.println("B e C");
 159 			if ( votiB == strictMin( votiA, votiB, votiC ) )
 160 				System.out.println("A e C");
 161 			if ( votiC == strictMin( votiA, votiB, votiC ) )
 162 				System.out.println("A e B");
 163 			if ( strictMin( votiA, votiB, votiC ) < 0)
 164 				System.out.println("A, B e C");
 165 			}
 166 	}
 167 }

Attached Files

You are not allowed to attach a file to this page.