Java 将数字转换为文字并在输入无效时重新执行

Java 将数字转换为文字并在输入无效时重新执行,java,Java,我正在尝试将数字转换为0-100之间的单词,如果在不扩展程序的情况下不满足条件,我如何重新执行该程序。 如果我输入55,我想输出55,但是如果我输入的数字不是0-100,它会输出“你应该只输入0-100,再试一次”,然后它会自动转到“只输入0-100之间的数字” package-converternumbertowords; 导入java.util.Scanner; 公共类数字词{ 公共静态void main(字符串[]args){ 扫描仪sc=新的扫描仪(System.in); System.

我正在尝试将数字转换为0-100之间的单词,如果在不扩展程序的情况下不满足条件,我如何重新执行该程序。 如果我输入55,我想输出55,但是如果我输入的数字不是0-100,它会输出“你应该只输入0-100,再试一次”,然后它会自动转到“只输入0-100之间的数字”

package-converternumbertowords;
导入java.util.Scanner;
公共类数字词{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“仅输入0-100之间的数字”);
int num1=sc.nextInt();
而(num1=101){
如果(num1=0){
System.out.println(“单词中的“+num1+”是“+
整数.toString(num1));
}
否则{
System.out.println(“您应该输入0-100,请再试一次”);
}
}
}
}

若要保留,直到输入正确的输入,请首先进行输入->检查是否错误->如果是,然后再次提示用户,否则进入下一步。在代码中,它将如下所示

// 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();  
}
//请求输入
System.out.println(“仅输入0-100之间的数字”);
int num=sc.nextInt();
//检查输入是否不正确
而(num>100 | | num<0){
//如果输入不正确,请再次提示用户
System.out.println(“您应该输入0-100,请再试一次”);
//更新num并检查,直到unser输入范围内的num
num=sc.nextInt();
}

我的建议是将单词保留在一个数组中,将其分隔为1和10。 例如:

我之所以将其中的[0]保留为空,是因为很容易理解,其中的[1]=1

String tens[] = { " ", " ", " Twenty", " Thirty", " Forty", " Fifty", " Sixty", "Seventy", " Eighty", " Ninety" };
我将0、10保留为空,因为我在1中声明了它


根据我的例子,如果小于这个值,就使用1[number]。如果它大于19,我建议将它除以10得到它的十个字,然后用模数(%)将数字除以10得到它的一个字。我的建议可能并不完美,但希望它能给你一些想法

Insert
int num1=sc.nextInt()
切换到
while
循环。但这不会给您预期的结果,
Integer.toString()
不会将
55
更改为
55
,它将只将其更改为
'55'
。因此将有两个while循环?否。在此之后,您将不需要任何验证。@iDevdevdev要将int转换为Words,请看一下如何将其连接到integer?比如说,如果我输入55,它将如何转换为55呢?那么我的想法是,如果它是55:如果我们尝试使用
tens[55/10]+“-”+one[55%10]
,它应该给出fivety-5,这对你有帮助吗?也找到了这个[链接]
String ones[] = { " ", " One", " Two", " Three", " Four", " Five", " Six", " Seven", " Eight", " Nine", " Ten"," Eleven", " Twelve", " Thirteen", " Fourteen", "Fifteen", "Sixteen", " Seventeen", " Eighteen"," Nineteen" };
String tens[] = { " ", " ", " Twenty", " Thirty", " Forty", " Fifty", " Sixty", "Seventy", " Eighty", " Ninety" };