Java 单独显示数字
我有以下问题的麻烦 “编写一个displayDigits方法,该方法接收介于1和之间的整数 99999并以数字序列的形式显示,分隔每对 由两个空格组成的数字。例如,整数4562应显示为4 5 6 2“ 这就是我目前拥有的,我知道它会向后显示数字,但不会使用Java 单独显示数字,java,Java,我有以下问题的麻烦 “编写一个displayDigits方法,该方法接收介于1和之间的整数 99999并以数字序列的形式显示,分隔每对 由两个空格组成的数字。例如,整数4562应显示为4 5 6 2“ 这就是我目前拥有的,我知道它会向后显示数字,但不会使用“error:missing return statement”错误进行编译 public static int displayDigits(int num1) { for (int i=0; num1>0; i++) {
“error:missing return statement”
错误进行编译
public static int displayDigits(int num1)
{
for (int i=0; num1>0; i++)
{
return(num1 % 10)
}
}
这本书指出,我们只使用%
和/
来解决这个问题。请帮帮我!!我已经为此工作了几个小时…请执行以下操作:
String resultNumber = "";
for(int i = 0; i < num1.toString().length(); i++)
resultNumber += num1.toString().substring(i, i+1) + " ";
resultNumber = resultNumber.substring(0, resultNumber.length() - 2);
String resultNumber=“”;
对于(int i=0;i
当num1为4564时,resultNumber为“4 5 6 4”,这适用于任何数字(在整数的最小值和最大值之间)循环后需要一个return语句。因为如果num1为空,循环将永远不会执行。你明白
displaydights
之前的int
是什么意思吗?您了解for循环是如何工作的吗?return
的作用是什么?此外,尽管被称为“displaydights”,但您的方法不会再次尝试显示。此外,如果要在该函数中生成带有空格的内容,则需要返回一个字符串。该方法应该显示内容(即调用System.out.print()
),而不是返回内容,因此将返回类型更改为void
,并删除return
语句。这样做是正确的,但您需要一个字符串变量来存储数字。这样你就可以在字符串的前面加上一个大头钉来颠倒数字的顺序,因为正如你所说的那样,该方法将数字倒过来。OP指出,作业要求他们用%
和/
算法来解决问题。虽然这样做可行,但请务必阅读整个问题。OP表示,目标是仅使用%
和/
完成此操作。此程序具有完整的逻辑,可以提取到方法中。不知道为什么会被否决。
public static void main(String... args)
{
int i=4562;
String str ="";
int rem;
int q;
while(true)
{
q = i/10;
rem = i%10;
if(rem==0)
break;
str +=" "+rem;
i=q;
}
StringBuilder builder = new StringBuilder(str);
System.out.println(builder.reverse());
}
public static void displayDigits(int num1) {
String result = "";
for (int i=0; num1>0; i++) {
if(i>0) result = " " + result;
result = num1%10 + result;
num1 /= 10;
}
System.out.println(result);
}