Attachment '01-LAB-Funzioni-01-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 questultimo 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.