我需要做的项目是:
所以我似乎无法解决这个问题,任何帮助?
(朋友建议“for”循环,但遗憾的是我不知道如何在此任务中使用它。)
非常感谢。
同时我有这个:
import java.util.Scanner;
public class HW1
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int count, digit, number;
System.out.println("Enter a positive integer number: ");
number=input.nextInt();
答案 0 :(得分:0)
由于这是一个赋值,我相信你必须在一个非常特殊的事情上做,所以我想你必须将输入从String转换为Integer,然后再计数。
要计算将整数转换回String,请计算每个数字的实例数。
我们知道基数10中的数字是:0, 1, 2, 3, 4, 5, 6, 7, 8, 9
因此为它们创建变量。理想情况下,你会使用一个数组,但你可以把自己想象成额外的。这些将跟踪每个数字的实例数:
int zero, one, two, three, four, .... nine;
将整数转换回String:
String s = number + "";
然后使用for循环遍历String并计算每个数字的实例。
for(int i = 0; i < s.length(); i++)
{
if(s.charAt(i) == '0')
zero++;
else if(s.charAt(i) == '1')
one++;
else if(s.charAt(i) == '2')
two++;
. . .
// You do the rest.
}
答案 1 :(得分:0)
import java.util.Scanner; 公共类HW1 {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int digit, number;
int[] count=new int[10];
System.out.println("Enter a positive integer number: ");
number=input.nextInt();
while(number>0)
{
digit=number%10;
switch(digit)
-{
case 0:
count[0]++;
break;
case 1:
count[1]++;
break;
.....
......
........
case 9:
count[9]++;
break;
default:
}
number=number/10;
}
for(int i=0;i<=9;i++)
{
system.out.println("digit "+i+ "occurs "+count[i]+"times");
}
}
希望它能产生预期的产量......
答案 2 :(得分:0)
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int digit, number;
int[] count=new int[10];
System.out.println("Enter a positive integer number: ");
number=input.nextInt();
while(number>0)
{
digit=number%10;
count[digit]++;
number=number/10;
}
for(int i=0;i<=9;i++)
{
system.out.println("digit "+i+ "occurs "+count[i]+"times");
}
}