Вопрос:

Преобразование чисел в слова и повторное выполнение

java

22 просмотра

2 ответа

1 Репутация автора

Я пытаюсь преобразовать числа в слова только от 0 до 100, и как я могу выполнить программу заново, если она не удовлетворяет условиям без выхода из программы. если я ввожу 55, я хочу вывести пятьдесят пять, но если я наберу цифры, которые не находятся в 0-100, он выведет «вы должны ввести 0-100, только попробуйте снова», тогда он автоматически перейдет к «вводу числа между 0 Только -100 "

package convertnumbertowords;
import java.util.Scanner;
public class ConvertNumberToWords {
public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Input number between 0-100 only ");
    int num1 = sc.nextInt();
    while (num1 <= -1 && num1 >= 101 ){
        if(num1 <= 100 && num1 >= 0){
            System.out.println("The "+num1+" in words is "+ 
            Integer.toString(num1));
        }
        else{
            System.out.println("You should input 0-100 only Try Again");
        }
    }
}
}
Автор: iDevdevdev Источник Размещён: 11.08.2019 07:13

Ответы (2)


0 плюса

102 Репутация автора

Чтобы сохранить до тех пор, пока не будет введен правильный ввод, вы сначала берете ввод -> проверьте, не ошибочен ли он -> Если да, то еще раз попросите пользователя перейти к следующему шагу. В коде это будет выглядеть так

// Ask for input
System.out.println("Input number between 0-100 only ");
int num = sc.nextInt();
// Check if input is incorrect
while (num > 100 || num < 0) {
    // If input is incorrect prompt user again
    System.out.println("You should input 0-100 only Try Again");
    // Update num and check until unser enters a num within the range
    num = sc.nextInt();  
}
Автор: Goion Размещён: 11.08.2019 07:31

0 плюса

6 Репутация автора

Мое предложение состоит в том, чтобы хранить слова в массиве, разделять их на единицы и десятки. Например:

String ones[] = { " ", " One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", " Ten"," Eleven", " Twelve", " Thirteen", " Fourteen", "Fifteen", "Sixteen", " Seventeen", " Eighteen"," Nineteen" };

Причина, по которой я сохранил значения [0] пустыми, чтобы было легко понять, единицы [1] = один

String tens[] = { " ", " ", " Twenty", " Thirty", " Forty", " Fifty", " Sixty", "Seventy", " Eighty", " Ninety" };

Я сохранил 0, 10 как пустые, потому что я объявил их в тех.

Исходя из моего примера, если это меньше, просто используйте [число]. Если это больше 19, я бы предложил разделить его на десять, чтобы получить слово для его слова из десятков, а затем от модуля (%) до числа 10, чтобы получить его слово. Всего наилучшего в том, чтобы взломать его, Мое предложение может быть не идеальным, но надеюсь, что оно даст вам некоторую идею

Автор: Arvind Vijayarooban Размещён: 11.08.2019 08:07
Вопросы из категории :
32x32