我已经编写了代码来在单独的行上打印整数的数字,但我没有得到预期的输出。相反,代码的输出是相反的顺序。如何在不使用 Math.pow
方法的情况下使输出正确?
import java.util.Scanner;
class NumberInDigit
{
public static void main(String[] args)
{
int div;
Scanner sc = new Scanner(System.in);
System.out.println("enter the number");
int n = sc.nextInt();
while(n>0)
{
div = n%10;
n= n/10;
}
System.out.println(div);
}
}
n = 234
输出为4,3,2
预期输出为2,3,4
您也可以这样做:
int n=234,x=n,y=100;
while(x>=0)
{
x=n/y;
n=n%y;
System.out.println(x);
y=y/10;
}
这种方式输出为 2,3,4。
如果您想使用数组对字符串进行运算,您就要对除法余数进行除法运算,然后再进行除法运算
“%”是模运算符,因此< code > div = n;取n (234),然后求出234除以10的余数。234/10 = 23.4(即余数为4)。所以div被赋值为4(即div = 4)。然后将n (234)除以10,并将其重新分配给n - so (234 / 10 = 23),注意余数被忽略。
这是循环的第一次迭代的结束,它返回div = 4。
第二次迭代(当n = 23时)将打印出3(因为23/10 = 2r 3)——记住我们返回的是余数。然后n被设置为2。
第三次迭代(当n = 2时)将打印出2(因为2/10 = 0r 2)——余数是2。n现在设置为0,如(2 / 10 = 0)。那么下一次迭代将会不满足n的条件
这就是为什么你会得到4,3,2。
有许多方法可以获得预期的数字,但是由于您在base10(即十进制系统)中工作,我认为最简单的方法就是将数字转换为字符串,然后遍历字符串打印每个数字,直到到达末尾或小数点。
问题内容: 结果显示 该代码打印所有单词并计数频率单词的使用。 我想在单独的行中打印字典。 有任何可行的方法吗? 问题答案:
目前,我的spark console打印如下,可读性不强: 我希望它在新行上打印每个结构字段项目,以便更容易阅读。我该怎么办?谢谢。 更新:我实际上在学习本教程(http://www.nodalpoint.com/spark-data-frames-from-csv-files-handling-headers-column-types/),作者可以逐行打印,无需pprint。我想知道他/她是怎么
问题内容: 我有1100、1002、1022等数字。我想使用单个数字,例如,对于第一个数字1100,我希望具有1、1、0、0。 如何用Java获取它? 问题答案: 为此,你将使用(mod)运算符。 mod运算符将为你提供对int进行除法运算的其余部分。 所以, 因为: 注意:如Paul所述,这将为你提供相反的数字。你将需要将它们压入堆栈并以相反的顺序弹出。 代码以正确的顺序打印数字:
问题内容: 使用Java,我需要在未本地安装的网络打印机上进行打印。我只知道打印机名称。我看过的所有教程都以类似以下内容开始: 问题是可能没有安装打印机,因此在这种情况下服务将为空。我需要直接设置打印机名称,而不仅仅是通过可见的打印机枚举。 问题答案: 如果Java AWT Printing未向运行打印应用程序的Windows / Active Directory用户注册,则无法通过路径找到打印机
问题内容: 例如,我有两个变量,以及如何仅使用一个变量而不将类型转换为来在单独的行中打印两个整数。(如在C ++以下:) 问题答案: 在python3中: 在python2中: …或者使用python3的打印 自从我的第一个答案以来,OP就使用可变类型更改来编辑问题。更新已更新问题的答案: 如果您有一些整数,即和: Python 3: Python 2: 要么 要么
问题内容: 在我的代码中,我使用整数乘以100作为小数(0.1为10等)。您能帮我格式化输出以显示为十进制吗? 问题答案: