Erro "converter constante inteira em outro radical"

Eai Pessoal!

Estou fazendo um programa que faz um calculo dependendo do sexo da pessoa. Só que na linha do while aparece o erro: while expected e converter a constante inteira em outro radical. Alguém poderia me ajudar por favor:

[code]package exercício1;

import java.util.Scanner;

public class exercicio2 {

public static void main(String[] args){
Scanner s=new Scanner(System.in);
System.out.println("insira o genero do paciente:homem(1) e mulher(2)(s) para sair)");
int c=s.nextInt();

         do{
       if (c==1){
           System.out.println("Insira o peso");
           int p=s.nextInt();
           System.out.println("Insira a altura");
           double a=s.nextDouble();
           double t=a*p-58;
           System.out.println(t);
               }

else if(c==2){
System.out.println(“insira o peso”);
int p=s.nextInt();
System.out.println(“Insira a altura”);
double a=s.nextDouble();
double r=p*a-44,7;

           System.out.println(r);}
           
          while ( c!=1 && c!=2); }
}

}[/code]

Bom, nem vi direito seu programa, mas aqui tem um erro bobo:

double r=p*a-44,7;

O Java não aceita, em programas, a notação brasileira para vírgula decimal. Ele exige que você escreva com ponto decimal.

double r=p*a-44.7;

Seu while está dentro do else. Por isso a mensagem fala que o while expected…

Uma boa prática é sempre que você abrir um parêntese, chave ou uma linha no java, já feche de cara.

Se abriu um if(…){ já feche com } antes mesmo de escrever algum código.

Assim você evita códigos que fiquem abertos ou fechados incorretamente.