Ajuda com String-method-is-undefined-for-type-string

Bom dia,
Sou iniciante em JAVA e eu estava resolvendo esse Ex, que pede para retornar esses valores.

public class Ex1 {
	
	 double HT;
	 double VH;
	 double PD;
	 double SB;
	 double TD;
	 double SL;

	double HorasTrabalhada (){
		return HT;
	}
	
	void SalarioBruto (){
		 SB = HT * VH;	
	}
	
	void TotalDesconto (){
		TD = (PD/100)*SB;	
	}
	
	void SalarioLiquido(){
		SL = SB -TD;
	}

	void imprimir (){
		System.out.printf("HT = ", HorasTrabalhada());	
		System.out.printf("SB = %0.2f \n", SalarioBruto());
		System.out.printf("TD = %0.2f \n", TotalDesconto());
		System.out.printf("SL = %0.2f \n", SalarioLiquido());
		
	}
	
        public static void main (String [] args){
	    Ex1 primeiro = new Ex1();
	    primeiro.HT = 46;
	    primeiro.VH = 37.24985470297004;
	    primeiro.PD = 2.378793194009624;
	 
	   primeiro.imprimir();
	
	
       }

}

Nos campos:

System.out.printf("SB = %0.2f \n"", SalarioBruto());
System.out.printf("TD = %0.2f \n"", TotalDesconto());
System.out.printf("SL = %0.2f \n" ", SalarioLiquido());

Está dando esse erro de “String-method-is-undefined-for-type-string”, que eu não consigo saber o que é direito.

Isso acontece por que seus métodos são void.
Altere o retorno deles para algum tipo (double por exemplo) e funciona ou deixe-os como void mesmo, mas chame os três antes dos System.out.printf e nos printf passe as variaveis ao invés dos métodos.

Tente isso:

double SalarioBruto (){
    return HT * VH;	
}

Ou isso:

void imprimir (){
    SalarioBruto();
    TotalDesconto();
    SalarioLiquido();
    System.out.printf("HT = ", HorasTrabalhada());	
    System.out.printf("SB = %0.2f \n", SB);
    System.out.printf("TD = %0.2f \n", TD);
    System.out.printf("SL = %0.2f \n", SL);
}

Dica: por convenção, nomes de variaveis em java são escritos em letras minúsculas. O padrão de nomes que você está usando, por convenção, é utilizado somente para constantes, sendo que essas são declaradas assim: public static final String MINHA_CONSTANTE = "Minha constante";

Espero ter ajudado!

Abs.

2 curtidas

vlw manim !!

1 curtida