Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找到所有快乐的数字直到_Java_While Loop - Fatal编程技术网

Java 找到所有快乐的数字直到

Java 找到所有快乐的数字直到,java,while-loop,Java,While Loop,我的任务是打印从10到程序打印的所有快乐数字 3个连续数字。这3个数字应该是1880、1881和1882。 我边写边写(num2 0 | | sum>9){ 如果(num==0){ num=总和; 总和=0; } 总和+=数学功率(数值%10,2); num/=10; } 如果(总和=1){ 计数器++; System.out.println(计数器+”)“+num2+”是一个愉快的数字:-”); } num2++; 总和=0; }而(num2

我的任务是打印从10到程序打印的所有快乐数字 3个连续数字。这3个数字应该是1880、1881和1882。 我边写边写(num2 0 | | sum>9){ 如果(num==0){ num=总和; 总和=0; } 总和+=数学功率(数值%10,2); num/=10; } 如果(总和=1){ 计数器++; System.out.println(计数器+”)“+num2+”是一个愉快的数字:-”); } num2++; 总和=0;
}而(num2<1883)// 您应该有一个包含连续找到的数字的列表。循环,直到列表的长度为3。在循环内部检查您的候选人是否是一个令人满意的数字。如果是,则将其添加到列表中。如果因为你没有达到一个连续的快乐数字而没有清除列表。退出循环后,列表包含找到的三个连续的快乐数字

List<Integer> foundNumbers = new ArrayList<Integer>();
int candidate = 10;
while(foundNumbers.length < 3) {
    if(isHappyNumber(candidate)) {
        foundNumbers.add(candidate);
        System.out.println(candidate + " is a happy number");
    } else {
        foundNumbers.clear();
    }
    candidate ++;
}
//Print the list members
List foundNumbers=new ArrayList();
int候选者=10;
while(foundnumber.length<3){
if(isHappyNumber(候选)){
查找编号。添加(候选);
System.out.println(候选者+“是一个快乐的数字”);
}否则{
foundNumbers.clear();
}
候选人++;
}
//打印成员列表
一般格式为:

int lastHappyNumber = 0;
int currentHappyNumber = 0;
int thirdLastSum = 0;
int secondLastSum = 0;
int firstLastSum = 0;

do {
    currentHappyNumber = getNextHappyNumber();     // <--- fill in with your logic
    thirdLastSum = secondLastSum;
    secondLastSum = firstLastSum;
    firstLastSum = lastHappyNumber + currentHappyNumber;
    lastHappyNumber = currentHappyNumber;
} 
while ((thirdLastSum + 1) == secondLastSum && (secondLastSum + 1) == firstLastSum);
int lastHappyNumber=0;
int currentHappyNumber=0;
int thirdLastSum=0;
int secondLastSum=0;
int firstLastSum=0;
做{

currentHappyNumber=getNextHappyNumber()59我们会有一个连续快乐数字的计数器,当计数达到3时退出。它当前是假设答案写的。我的意思是我知道如何退出循环。但在这个辅助中,我需要在最后3个“和”是连续数字时退出。我不知道如何将最后一个“和”与之前的2个“和”进行比较“
List foundNumbers=new ArrayList();
”-您正在使用一些实验性的JDK吗?泛型原语仅通过支持。
int lastHappyNumber = 0;
int currentHappyNumber = 0;
int thirdLastSum = 0;
int secondLastSum = 0;
int firstLastSum = 0;

do {
    currentHappyNumber = getNextHappyNumber();     // <--- fill in with your logic
    thirdLastSum = secondLastSum;
    secondLastSum = firstLastSum;
    firstLastSum = lastHappyNumber + currentHappyNumber;
    lastHappyNumber = currentHappyNumber;
} 
while ((thirdLastSum + 1) == secondLastSum && (secondLastSum + 1) == firstLastSum);