Pessoal, o professor mandou a gente fazer um código para colocar sintomas, definir a probabilidade e comparar, mas meu código está dando loop, Ele pergunta os sintomas, a probabilidade e quando volta, ele pergunta de novo, e devia voltar para o while, o erro creio que seja na função Definir();, segue o Código:
package doctorstranger;
import java.util.Scanner;
public class DoctorStranger {
public static void Definir(String[] doenca,String[] sintomas,double[] [] prob, int tamsintomas, int tamdoenca){
Scanner sc = new Scanner(System.in);
for(int i = 0;i < tamdoenca;i++){
System.out.println("Informe o nome da sua doença!");
doenca[i] = sc.next();
}
for(int j = 0;j < tamsintomas;j++){
System.out.println("Informe os nomes dos sintomas!");
sintomas[0+j] = sc.next();
}
for(int i = 0;i < tamdoenca;i++){
for(int j = 0;j < tamsintomas;j++){
System.out.println("Qual a probabilidade de "+ sintomas[j]+" para a "+doenca[i]+"?");
prob [0+i] [0+j] = sc.nextDouble()/100;
}
}
}
public static void DefPaciente(int tamsintomas, int tamdoenca, double prob[] [], String sintomas[], String doenca[]){
Scanner sc = new Scanner(System.in);
System.out.println("========================================================================");
double [] [] probpaciente = new double[1] [tamsintomas];
int total = 100;
for(int j = 0;j < tamsintomas; j++){
System.out.println("Informe com que frequência você tem "+sintomas[j]+":");
probpaciente [0] [j] = sc.nextDouble();
}
for(int i = 0;i < tamdoenca;i++){
for(int j = 0; j < tamsintomas;j++){
if(probpaciente[0] [j] >= prob[i] [j]){
total = total;
}
else {
total = total - (100 / tamsintomas);
}
System.out.println("Você tem "+total+"% chance de ter " +doenca[i]);
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("----------------------\nDefina o número de doenças!\n----------------------");
int tamdoenca = sc.nextInt();
System.out.println("----------------------\nDefina o número de sintomas de cada doença!\n----------------------");
int tamsintomas = sc.nextInt();
String doenca[]= new String [tamdoenca];
String sintomas[]= new String [tamsintomas];
double prob[] [] = new double [tamdoenca] [tamsintomas];
System.out.println("Informe");
int ler = sc.nextInt();
while(ler != 0){
switch(ler){
case 1:
Definir(doenca,sintomas,prob,tamsintomas,tamdoenca);
break;
case 2:
DefPaciente(tamsintomas, tamdoenca, prob, sintomas, doenca);
break;
default:
}
}
}
}