Проблема, использовав Переключатель, Женил POO Java

Заранее я благодарен за пропорциональную, уместную и коллективную помощь.
Ocurrre, что у меня есть этот класс, который я хочу осуществить правильно количество числа числа в букву, что посредством CasВs я tratuando осуществления процесса, но введя Case inspeccionarMenuMillon (), программа осуществляет do - while, но оставляет в стороне остальные вступите в брак и он не показывает количество.

public class Chequera{

        private Scanner entrada;
        private String nombre;
        private int longitud;
    private int numero;
    private char digito;
    private String cifra;
        private int auxiliar;
        private String cantidad = "";
        private Date fecha;

        public void CargarNombre() {
                entrada = new Scanner(System.in);
        System.out.println("Ingresa nombre: \n");
        nombre = entrada.nextLine();
        }
        public void CargarCifra() {
                entrada = new Scanner(System.in);
        System.out.println("Ingresa cantidad: \n");
        cifra = entrada.nextLine();
        }
        public void CargarLongitudCifra(String descCifra) {
            longitud = descCifra.length();
        }

        public String MontarNombre(){
            return nombre;
        }
        public String MontarCifra(){
            return cifra;
        }
        public int MontarLongitud(){
            return longitud;
        }

Далее осуществляется меню, которое заканчивало количество.

        public void ImplementarMenuGeneral(){ // ejemplo : 111*
          // cheque en blanco
        //MontarLongitud();
                auxiliar =0;
        do { // 1: aux = 0, dig = 1, num=1. // 2: aux = 1, dig = 1, num=1. // 3: aux = 2, dig = 1, num=1.    
            numero=0;
                        digito = MontarCifra().charAt(auxiliar); //111 = [0] 1, [1] 1, [2] 1 == [0,1,2] === [111]. 
            numero = Integer.parseInt(digito + ""); // [0]1 = 1 //[1]1 = 1 // [2]1 = 1
            ubicarCantidad(longitud); // ...
            auxiliar++; //1: aux = 1, 2: aux = 2, 3: aux = 1.
            longitud --; //1: conj = 2, 2: conj = 1, 3: conj = 0.
                        MontarCantidad("");
        } while (auxiliar <= longitud); // 1: 1 <= 3, 2: 2 <= 3, 3: 3 <= 3.
    }

        public void ubicarCantidad(int numero){ //...  (2) // (1) // (0)
            switch (longitud) { // verdadero
                case 1:
                inspeccionarMenuUnidad(numero);
                break;
                case 2:
                inspeccionarMenuDecena(numero);
                break;
                case 3:
                inspeccionarMenuCentena(numero); 
                break;
                case 4:
                inspeccionarMenuMil(numero);
                break;
                case 5:
                inspeccionarMenuDecena(numero);
                break;
                case 6:
                inspeccionarMenuCentenaDeMillar(numero);
                break;
                case 7:
                inspeccionarMenuMillon(numero);
                break;
                default:
                System.out.println("Error!!! cifra inconmensurable, trata con una cifra mas pequeña.");
                                System.exit(0);
                                break;
                        }
        }

Сравнивает одна с одной длину и определяет, если говорится о единице, десятке, сотне, тысяче, decenademillar, centenasdemillar, миллионы.

        public void inspeccionarMenuUnidad(int numero){
        switch (numero) {
            case 1:
            MontarCantidad(" uno.");
                        break;
            case 2:
            MontarCantidad(" dos.");
            break;
            case 3:
            MontarCantidad(" tres.");
            break;
            case 4:
            MontarCantidad(" cuatro.");
            break;
            case 5:
            MontarCantidad(" cinco.");
            break;
            case 6:
            MontarCantidad(" seis.");
            break;
            case 7:
            MontarCantidad(" siete.");
            break;
            case 8:
            MontarCantidad(" ocho.");
            break;
            case 9:
            MontarCantidad(" nueve.");
            break;
        }
    }
 ```    DeterminaDecenas, 10,20,30,40,50,06,70,80,90.
        public void inspeccionarMenuDecena(int numero){
    switch (numero) {
        case 1:
        MontarCantidad(" diez y ");
        break;
        case 2:
        MontarCantidad(" veinti y ");
        break;
        case 3:
        MontarCantidad(" treinta y ");
        break;
        case 4:
        MontarCantidad(" cuarenta y ");
        break;
        case 5:
        MontarCantidad(" cincuenta y ");
        break;
        case 6:
        MontarCantidad(" sesenta y ");
        break;
        case 7:
        MontarCantidad(" setenta y");
        break;
        case 8:
        MontarCantidad(" ochenta y");
        break;
        case 9:
        MontarCantidad(" noventa y");
        break;
    }
}
```            
            public void inspeccionarMenuCentena(int numero){ //*
    switch (numero) {
        case 1:
        MontarCantidad(" cien "); // cien *
        break;
        case 2:
        MontarCantidad(" doscientos ");
        break;
        case 3:
        MontarCantidad(" trescientos ");
        break;
        case 4:
        MontarCantidad(" cuatrocientos ");
        break;
        case 5:
        MontarCantidad(" quinientos");
        break;
        case 6:
        MontarCantidad(" seiscientos ");
        break;
        case 7:
        MontarCantidad("sietecientos ");
        break;
        case 8:
        MontarCantidad(" ochocientos ");
        break;
        case 9:
        MontarCantidad(" novecientos ");
        break;
    }
}

            public void inspeccionarMenuMil(int numero){
    switch (numero) {
        case 1:
        MontarCantidad(" un mil ");
                    break;
        case 2:
        MontarCantidad(" dos mil ");
                    break;
        case 3:
        MontarCantidad(" tres mil ");
                    break;
        case 4:
        MontarCantidad(" cuatro mil ");
                    break;
        case 5:
        MontarCantidad(" cinco mil ");
                    break;
        case 6:
        MontarCantidad(" seis mil ");
                    break;
        case 7:
        MontarCantidad(" siete mil ");
                    break;
        case 8:
        MontarCantidad(" ocho mil ");
                    break;
        case 9:
        MontarCantidad(" nueve mil ");
                    break;
    }
}
```             public void inspeccionarMenuCentenaDeMillar(int numero){ //*
     switch (numero) {
         case 1:
         MontarCantidad(" cien "); // cien *
         break;
         case 2:
         MontarCantidad(" doscientos ");
         break;
         case 3:
         MontarCantidad(" trescientos ");
         break;
         case 4:
         MontarCantidad(" cuatrocientos ");
         break;
         case 5:
         MontarCantidad(" quinientos");
         break;
         case 6:
         MontarCantidad(" seiscientos ");
         break;
         case 7:
         MontarCantidad("sietecientos ");
         break;
         case 8:
         MontarCantidad(" ochocientos ");
         break;
         case 9:
         MontarCantidad(" novecientos ");
         break;
     }
 }

Определи миллион, 1000000,2000000,3000000,4000000,5000000,6000000,7000000,8000000,9000000.

             public void inspeccionarMenuMillon(int numero){
        switch (numero) {
            case 1:
            MontarCantidad("un millon");
                        break;
            case 2:
            MontarCantidad("dos millones");
                        break;
            case 3:
            MontarCantidad("tres millones");
                        break;
            case 4:
            MontarCantidad("cuatro millones");
                        break;
            case 5:
            MontarCantidad("cinco millones");
                        break;
            case 6:
            MontarCantidad("seis millones");
                        break;
            case 7:
            MontarCantidad("siete millones");
                        break;
            case 8:
            MontarCantidad("ocho millones");
                        break;
            case 9:
            MontarCantidad("nueve  millones");
                        break;
        }
    }

Cabe aclarar que esta clase va unida a otra en la cual solo realizo la imperion de los datos como son la fecha, el nombre, la cantidad, cifra solamnte asi pues sin mas espero puedan ayudarme a solventar esta duda que me trae pelando el ojo ya hace un par de noche.






-1
задан 10.09.2019, 12:20
1 ответ

Согласно которому ты комментируешь:

después ввождения Case inspeccionarMenuMillon(), программы efectúa do - while, но оставь в стороне demÃ: s вступите в брак и он не показывает количество.

, Если он не показывает ningún сообщение, проистекает того, что стоимость числа не определена ни в каком opci¦n, так как стоимость longitud превосходящая 9 или несовершеннолетнего 1.

 ubicarCantidad(longitud);

рекомендуемый добавлять всегда в одном switch, предопределенном opci¦n (default), таким образом podrÃ: s показывать también стоимость, которую он получает método,

пример:

      public void inspeccionarMenuMillon(int numero){
    switch (numero) {
        case 1:
        MontarCantidad("un millon");
                    break;
        case 2:
        MontarCantidad("dos millones");
                    break;
        case 3:
        MontarCantidad("tres millones");
                    break;
        case 4:
        MontarCantidad("cuatro millones");
                    break;
        case 5:
        MontarCantidad("cinco millones");
                    break;
        case 6:
        MontarCantidad("seis millones");
                    break;
        case 7:
        MontarCantidad("siete millones");
                    break;
        case 8:
        MontarCantidad("ocho millones");
                    break;
        case 9:
        MontarCantidad("nueve  millones");
                    break;
        default:
        MontarCantidad("Otra cantidad: " + numero);
                    break;
    }
}
0
ответ дан 11.11.2019, 01:15
  • 1
    Благодаря помощи compañ ero я смог понимать, что ошибка находилась в части контроля внутри do-while, помощник становился большим, чем моя длина так как эта disminuí в. Спасибо за твою подсказку из-за default case. я желаю тебе большой успех в будущих проектах! – Mario Ibarra 10.09.2019, 23:43