primeiramente: eu iniciei java esse ano na faculdade, então n tnho dominio sobre a linguagem .
Preciso que a entrada string seja validada como variavel, pq eu so posso da entrada com string, ja n sei como resolver isso, grata
import java.util.Scanner;
public class questao2 {
static Scanner scn;
public static void main(String[] args) {
scn = new Scanner(System.in);
resposta();
public static void resposta(){
boolean sair = false;
int pesoC, pesoG, idadeC, idadeG, cao, gato,total;
String tipo, sexo;
do{
System.out.print("Digite C para cão, G para gato e X para Sair ");
tipo = scn.nextLine();
try {
if( tipo == X) {
sair = true;
}else{
if((tipo == C) ||(tipo == G)) {
if(tipo == C) {
cao++;
System.out.print("Digite a idade em meses : ");
idade = scn.nextInt();
System.out.ptiny("Digite M para macho e F para femea");
sexo = scn.nextLine();
System.out.print("Digite o peso em kg: ");
peso = scn.nextInt();
}
if(tipo == G) {
gato++;
System.out.print("Digite a idade em meses : ");
idade = scn.nextInt();
System.out.ptiny("Digite M para macho e F para femea");
sexo = scn.nextLine();
System.out.print("Digite o peso em kg: ");
peso = scn.nextInt();
}
}else{
System.out.print("Opção invalida, tente novamente");
}
}
}catch (NumberFormatException e){
System.out.println("Opção Invalida");
scn.next();
}
}while(sair = false);
total = cao + gato;
System.out.format("Numero total de animais atendidos: %f\nPercentual de caes: %\nPercentual de gatos: ",total, cao, gato);
}
Funciona com equals, agr meu problema é que entra em loop e é isso`
do{
System.out.print("Digite C para cão, G para gato e X para Sair ");
tipo = scn.nextLine();
try {
if((tipo.equals("C")) ||(tipo.equals("G")) || (tipo.equals("X"))) {
if(tipo.equals("X")) {
sair = true;
}
if(tipo.equals("C")) {
cao++;
System.out.print("Digite a idade em meses : ");
idadeC = scn.nextInt();
System.out.println("Digite M para macho e F para femea");
sexo = scn.next();
System.out.println("Digite o peso em kg: ");
pesoC = scn.nextInt();
maior = idadeC;
if (idadeC < maior) {
maior = idadeC;
}
}
if(tipo.equals("G")) {
gato++;
System.out.print("Digite a idade em meses : ");
idadeG = scn.nextInt();
System.out.println("Digite M para macho e F para femea");
sexo = scn.next();
System.out.println("Digite o peso em kg: ");
pesoG = scn.nextInt();
menor = idadeG;
if (idadeG < menor) {
menor = idadeG;
menorP = pesoG;
}
}
}else{
//System.out.println("Opção invalida, tente novamente\n");
}
}catch (InputMismatchException e){
System.out.println("Opção Invalida"+e);
}
}while(sair = true);
total = cao + gato;
caoP = (cao* 100)/total;
gatoP = (gato*100)/total;
System.out.format("Numero total de animais atendidos: %f\nPercentual de caes: %f\nPercentual de gatos: %f\nCão mais veio: %f\nPeso da gatinha nene: ",total, caoP, gatoP);
}
Sim, a gente já tinha falado isso anteriormente, sei lá porque ela mudou (não testei o código porque estou no celular, só dei uma olhada por cima e vi esse erro)
import java.util.Scanner;
public class questao2 {
public static void main(String[] args) {
Scanner scn;
scn = new Scanner(System.in);
boolean sair = false;
int peso, idade, cachorro, gato, total;
String tipo, sexo;
cachorro = 0;
gato = 0;
do {
System.out.println("\nDigite C para cachorrinho, G para gato e X para sair: ");
tipo = scn.nextLine();
try {
if (tipo.equalsIgnoreCase("X")) {
sair = true;
} else if (tipo.equalsIgnoreCase("C")) {
cachorro++;
System.out.println("Digite a idade, em meses: ");
idade = Integer.parseInt(scn.nextLine());
System.out.println("Digite M para macho ou F para femea: ");
sexo = scn.nextLine();
System.out.println("Digite o peso, em kg: ");
peso = Integer.parseInt(scn.nextLine());
} else if (tipo.equalsIgnoreCase("G")) {
gato++;
System.out.println("Digite a idade, em meses: ");
idade = Integer.parseInt(scn.nextLine());
System.out.println("Digite M para macho ou F para femea: ");
sexo = scn.nextLine();
System.out.println("Digite o peso, em kg: ");
peso = Integer.parseInt(scn.nextLine());
} else {
System.out.print("Opção invalida, tente novamente");
}
} catch (NumberFormatException e) {
System.out.println("Opção Invalida");
scn.next();
}
} while (!sair);
total = cachorro + gato;
System.out.println("Numero total de animais atendidos: " + total);
System.out.println("Numero de cachorros: " + cachorro + " = " + ((cachorro*100)/total) + "%");
System.out.println("Numero de gatos: " + gato + " = " + ((gato*100)/total) + "%");
}
}
Eu fiquei tanto tempo em cima q deu nó na cabeça, mas consegui resolver, só n cheguei a postar o codigo aqui, pois estava fazendo outras coisas ao mesmo tempo e estava difcil dar atenção, grata a todos pela ajuda!
public static void main(String[] args) {
scn = new Scanner(System.in);
resposta();
}
public static void resposta(){
boolean sair = false;
int pesoC, pesoG, idadeC, idadeG, cao=0, gato=0,total=0, caoP, gatoP;
String tipo, sexo ;
int maior =0, menor=0, menorP=0;
do{
System.out.print("Digite C para cão, G para gato e X para Sair ");
tipo = scn.nextLine();
try {
if((tipo.equals("C")) ||(tipo.equals("G")) || (tipo.equals("X"))) {
if(tipo.equals("X")) {
sair = true;
}
if(tipo.equals("C")) {
cao++;
System.out.print("Digite a idade em meses : ");
idadeC = scn.nextInt();
System.out.println("Digite M para macho e F para femea");
sexo = scn.next();
System.out.println("Digite o peso em kg: ");
pesoC = scn.nextInt();
maior = idadeC;
if (idadeC < maior) {
maior = idadeC;
}
}
if(tipo.equals("G")) {
gato++;
System.out.print("Digite a idade em meses : ");
idadeG = scn.nextInt();
System.out.println("Digite M para macho e F para femea");
sexo = scn.next();
System.out.println("Digite o peso em kg: ");
pesoG = scn.nextInt();
menor = idadeG;
if (idadeG < menor) {
menor = idadeG;
menorP = pesoG;
}
}
}
}catch (InputMismatchException e){
System.out.println("Opção Invalida"+e);
}
}while(sair != true);
total = cao + gato;
caoP = (cao* 100)/total;
gatoP = (gato*100)/total;
System.out.println("Numero total de animais atendidos:"+total);
System.out.println("Numero de caes:"+cao);
System.out.println("Percentual de caes:"+caoP);
System.out.println("Numero de gatos:"+gato);
System.out.println("Percentual de gatos:"+gatoP);
System.out.println("Cão mais veio:"+ maior);
System.out.println("Peso da gatinha nene:"+menorP);
}