0
I’m with this college activity and I’m having trouble closing the loop of my while, because even after informing that the name of the city is Zimbabwe Mines he considers as different and continue running, follows the code:
package problemas.iniciante;
import java.util.Scanner;
public class Problema1019 {
public static void main(String[] args) {
String nomeDaCidade = "", cidadeMenorPop = "";
int populacao, numEleitores, qntMulheres, qntHomens, totalDeCidades = 0, popTotal = 0,
totalEleitores = 0, maisMulheres = 0, menorPop = 0;
double mediaHomens = 0;
Scanner leia1 = new Scanner(System.in);
Scanner leia2 = new Scanner(System.in);
while (nomeDaCidade != "Zimbabue de Minas") {
System.out.print("Informe o nome da cidade: ");
nomeDaCidade = leia1.nextLine();
System.out.print("Informe o número de habitantes desta cidade: ");
populacao = leia2.nextInt();
System.out.print("Informe o número de eleitores desta cidade: ");
numEleitores = leia2.nextInt();
System.out.print("Informe a quantidade de homens da cidade: ");
qntHomens = leia2.nextInt();
System.out.print("Informe a quantidade de mulheres da cidade: ");
qntMulheres = leia2.nextInt();
if (qntHomens + qntMulheres != populacao) {
System.out.println("A soma dos homens mais mulheres é diferente da população da cidade");
}
totalDeCidades++;
popTotal += populacao;
totalEleitores += numEleitores;
if (qntMulheres > qntHomens) {
maisMulheres++;
}
mediaHomens += qntHomens;
if (totalDeCidades == 1 || populacao < menorPop) {
menorPop = populacao;
cidadeMenorPop = nomeDaCidade;
}
}
System.out.printf("Total de cidades: %d\n", totalDeCidades);
System.out.printf("População total: %d\n", popTotal);
System.out.printf("Percentual de eleitores: %.2f%\n", totalEleitores / popTotal * 100);
System.out.printf("Quanidade de cidades com mais mulheres do que homens: %d\n", maisMulheres);
mediaHomens /= totalDeCidades;
System.out.printf("Média dos homens: %.2f\n", mediaHomens);
System.out.print("Cidade com menor população " + cidadeMenorPop);
leia1.close();
leia2.close();
}
}
I also accept best practice tips in this code
You need to use the equals method to compare strings in Java link
– Andre