在 Java 中编程,列出所有总和为 7 的四位数字
Program in Java to list all the four digit numbers that have individual sum of 7
在Java中编写程序,列出所有四位数字的和为7的数字。ie.list从0000到9999的数字,四位数字的和分别为7。
例如:7171是一个四位数字,四位数字的和分别为7+1+7+1 = 16,然后1+6 = 7.So这种类型的数字应该是已列出。
我写了一个代码,但不是working.Code如下:
public class Add
{
double i,s,n=0;
void method()
{
for(i=0000; i<=9999; i++)
{
for(n=i;n>0;n/=10)
{
s=s+(n%10);
}
while(s>9)
{
for(n=s;n>0;n/=10)
{
s=s+(n%10);
}
}
if(s==7)
{
System.out.println("i");
}
}
}
public static void main(String[] args)
{
Add ob=new Add();
ob.method();
}
}
这是你想要的节目:
public class SumDigits {
public static void main(String[] args) {
for(int i=7; i<=9999; i+=9)
System.out.printf("%04d\n", i);
}
}
数字总和是除以 9 的余数。所以只需从 7 开始,然后连续添加 9,您将得到所有这些数字。
希望对您有所帮助。
将各位数求和大于10,再求和。
public class Add {
public void calculate(int value) {
for (int index = 1; index <= value; index++) {
int i = index;
int sum=0;
int summation = 0;
sum = computeDigits(i, sum);
summation = computeDigits(sum, summation);
if (summation == 7) {
System.out.println(index);
}
}
}
private int computeDigits(int i, int sum) {
while(i>9) {
sum += i%10;
i = i/10;
}
sum += i;
return sum;
}
public static void main(String[] args) {
Add ob = new Add();
ob.calculate(1000);
}
}
我知道这有点老了,但它可以帮助其他人。
public class Add {
int sum(String val)
{
int num=0,temp=0;
int count=val.length();
temp=count;
for(int i=0;i<count;i++)
{
temp--;
char k=val.charAt(i);
num += Character.getNumericValue(k);
int p=String.valueOf(num).length();
if(p>1&&temp==0)
{
count=p;
i=-1;
val=String.valueOf(num);
num=0;
}
}
return num;
}
public static void main(String []args)
{
Add a=new Add();
for(int k=0;k<9999;k++)
{
if(a.sum(String.valueOf(k))==7)
System.out.println("Numbers are"+k);
}
}
}
在Java中编写程序,列出所有四位数字的和为7的数字。ie.list从0000到9999的数字,四位数字的和分别为7。
例如:7171是一个四位数字,四位数字的和分别为7+1+7+1 = 16,然后1+6 = 7.So这种类型的数字应该是已列出。
我写了一个代码,但不是working.Code如下:
public class Add
{
double i,s,n=0;
void method()
{
for(i=0000; i<=9999; i++)
{
for(n=i;n>0;n/=10)
{
s=s+(n%10);
}
while(s>9)
{
for(n=s;n>0;n/=10)
{
s=s+(n%10);
}
}
if(s==7)
{
System.out.println("i");
}
}
}
public static void main(String[] args)
{
Add ob=new Add();
ob.method();
}
}
这是你想要的节目:
public class SumDigits {
public static void main(String[] args) {
for(int i=7; i<=9999; i+=9)
System.out.printf("%04d\n", i);
}
}
数字总和是除以 9 的余数。所以只需从 7 开始,然后连续添加 9,您将得到所有这些数字。
希望对您有所帮助。
将各位数求和大于10,再求和。
public class Add {
public void calculate(int value) {
for (int index = 1; index <= value; index++) {
int i = index;
int sum=0;
int summation = 0;
sum = computeDigits(i, sum);
summation = computeDigits(sum, summation);
if (summation == 7) {
System.out.println(index);
}
}
}
private int computeDigits(int i, int sum) {
while(i>9) {
sum += i%10;
i = i/10;
}
sum += i;
return sum;
}
public static void main(String[] args) {
Add ob = new Add();
ob.calculate(1000);
}
}
我知道这有点老了,但它可以帮助其他人。
public class Add {
int sum(String val)
{
int num=0,temp=0;
int count=val.length();
temp=count;
for(int i=0;i<count;i++)
{
temp--;
char k=val.charAt(i);
num += Character.getNumericValue(k);
int p=String.valueOf(num).length();
if(p>1&&temp==0)
{
count=p;
i=-1;
val=String.valueOf(num);
num=0;
}
}
return num;
}
public static void main(String []args)
{
Add a=new Add();
for(int k=0;k<9999;k++)
{
if(a.sum(String.valueOf(k))==7)
System.out.println("Numbers are"+k);
}
}
}