Java - Bluej giving error return Error found in class

Asked

Viewed 41 times

0

I am trying to make a class to read numbers in full and used this base example. However, when compiling it claims the following error:

Error found in class.

Someone could help with that mistake?

import java.lang.String;

public class Cheque{
   private double valor;
   public void setValor (double valor){
       this.valor = valor;
    }
    public double getValor (){
        return valor;
    }
 public String getValorPorExtenso(double valor){
   String[] unidade = new String [] {"", "um", "dois", "três", "quatro", "cinco",
             "seis", "sete", "oito", "nove", "dez", "onze",
             "doze", "treze", "quatorze", "quinze", "dezesseis",
             "dezessete", "dezoito", "dezenove"};
    
   String[] centena = new String [] {"", "cento", "duzentos", "trezentos",
             "quatrocentos", "quinhentos", "seiscentos",
             "setecentos", "oitocentos", "novecentos"};
   
   String[] dezena = new String [] {"", "", "vinte", "trinta", "quarenta", "cinquenta",
             "sessenta", "setenta", "oitenta", "noventa"};
             
   String[] milhar = new String [] {"", "mil", "milhão"};
     
   int reais = (int)valor;
   int centavos = (int) ((valor - reais)*100);
   
   String valorPorExtenso = getValorPorExtenso99999(
       reais, unidade, dezena, centena, milhar);
       if (reais>1)
           valorPorExtenso += " reais";
       else
           valorPorExtenso +=" real";
       
       if (centavos > 0) {
           valorPorExtenso += " e " + getExtenso1000("centavos", "unidade", " dezena");
           
           if (centavos == 1)
               valorPorExtenso += " centavo";
           else
               valorPorExtenso += " centavos";               
    }
    return valorPorExtenso;
 }
 public static String getValorPorExtenso99999(double valor, String[] unidade,
         String[] dezena, String[] centena, String[] milhar){
    int antesDoMilhar = (int) (valor % 1000);
    int depoisDoMilhar = (int) (valor / 1000);
    
    String valorPorExtensoantesDoMilhar = getValorPorExtenso1000(antesDoMilhar, unidade,
        dezena, centena);
    String valorPorExtensodepoisDoMilhar = getValorPorExtenso1000(depoisDoMilhar,
        unidade, dezena, centena);
    
    if (depoisDoMilhar > 0)
        return valorPorExtensodepoisDoMilhar + " " + milhar[1] + " " + 
            valorPorExtensoantesDoMilhar;
    else
        return valorPorExtensoantesDoMilhar;
 }
 public static String getValorPorExtenso100(double valor, String[] unidade,
     String[] dezena, String[] centena) {
         String valorPorExtenso = " ";
    
    int unidades = (int) (valor % 10);
    double nvalor = valor / 10;
    int dezenas = (int) (nvalor % 10);
    int centenas = (int) (nvalor /10);
    
    if (centenas == 0) { 
     valorPorExtenso = getValorPorExtenso1000(valor, unidade, dezena);
    } else {
        valorPorExtenso = (centenas == 1 && dezenas == 0 && unidades == 0) ? centena[0] : centena[centenas];
        valorPorExtenso += (dezenas + unidades > 0) ? " e " + getValorPorExtenso100(dezenas * 10 + unidades, unidade, dezena) : " ";
    }
    return valorPorExtenso;
 }

 public static String getValorPorExtenso100(double valor, String[] unidade, String[] dezena) {
    String valorPorExtenso = " ";
    if (valor == 0){
    } else if (valor < 20) {
        valorPorExtenso = unidade[ (int) valor1 = 1];
    } else {
        int dezenas = (int) (valor / 10);
        int unidades = (int) (valor % 10);
        valorPorExtenso = dezena[dezenas - 1];
        valorPorExtenso += unidades >= 1 ? "e" + unidade[unidades = 1] : " ";
    }
    return valorPorExtenso;
 }  
}
}

1 answer

0

The Problem

The message indicates that there are errors in the class.

Listing some existing errors in the class

  • Line 37:

    valorPorExtenso += " e " + getExtenso1000("centavos", "unidade", " dezena"); 
    

The method getExtenso1000() there is no.

  • On lines 51, 53, 72:

The method getValorPorExtenso1000 there is no.

  • Row 84:

    valorPorExtenso = unidade[ (int) valor1 = 1];
    

value1 not defined as variable.

  • Line 94:

    } is in excess.

Suggestion

I suggest you look for an IDE that displays code errors and provides suggestions for possible solutions. This way you can easily find errors and scan them.

  • Thanks for the help! A good part has been solved. And Tbm I will try to use another IDE yes at least to write the Cod.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.