由于数据类型而导致循环在计算之前退出

Lunian

我的程序规格如下。1.所有四个数字都不同。2.千位数字是十位数的三倍。3.数字是奇数。4.数字的总和是27。我遗漏了整个程序的一些代码。它具有干净的编译器,但在运行时会自动终止。我认为问题出在数据类型的转换中。

int randomNumber = rand.nextInt(9000) + 1000;
String randomString;
boolean found = true;   

while (found)
{   

// converting to string to find position of digits and value        
randomString = String.valueOf(randomNumber);

// converting to char to transfer back to in while knowing the position of the digits 
char position0a = randomString.charAt(0);
char position1a = randomString.charAt(1);
char position2a = randomString.charAt(2);
char position3a = randomString.charAt(3);

// coverted back to int
int position0 = Character.getNumericValue(position0a);
int position1 = Character.getNumericValue(position1a);
int position2 = Character.getNumericValue(position2a);
int position3 = Character.getNumericValue(position3a);

int sumCheck = position0a + position1a + position2a + position3a;
int digit30Check = 3 * position2;

//checking addition to 27
String sumCheck27 = "27";
String sumCheck28 = String.valueOf(sumCheck);

// checking all digits are different
if (position0 != position1 && position0 != position2 && position0 != position3  &&

position1 != position2 && position1 != position3 && position2 != position3) 
{
if (position3 != digit30Check) // check if the digit in the thousands place 3 * tens
{
    if (sumCheck27.equals(sumCheck28)) // check if the sum is 27
    {
        if (position0 != 1 && position0 != 3 
&& position0 != 5 && position0 != 7 &&      
position0 != 9 && position1 != 1 && position1 != 3 
&& position1 != 5 && position1 != 7 && 
position1 != 9 && position2 != 2 && position2 != 3 
&& position2 != 5 && position2 != 7 && 
position2 != 9 && position3 != 3 && position3 != 3 && 
position3 != 5 && position3 != 7 && position3 != 9)
        { 
// checks for odd digits
         found = false;
         System.out.println(randomNumber);

        }
        else 
        randomNumber = rand.nextInt(9000) + 1000;
    }
    else 
    randomNumber = rand.nextInt(9000) + 1000;               
}
else 
randomNumber = rand.nextInt(9000) + 1000; 
}
else 
 randomNumber = rand.nextInt(9000) + 1000; 

 // end while
 }
他们是
boolean found = false;  

while (found)

仅此一项就确保了while循环将永远不会进入,因为它found是错误的。while循环中的任何内容都没有任何区别,因为它将永远不会执行。

你可能想写

while (!found)

除了此错误外,您的情况也过于复杂。这是您可以简化它们的方法:

if ((position0 == (3 * position2)) && // note that position0 is the "thousands place", not position3
    ((position0+position1+position2+position3) == 27) && // sum of digits
    (position3 % 2 == 1) && // odd number
    (position0 != position1 && position0 != position2 && position0 != position3  &&
     position1 != position2 && position1 != position3 && position2 != position3)) { // different digits
    found = true;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQLSyntaxErrorException:由于 HSQLDB 中的“COALESCE”导致的数据类型异常

来自分类Dev

由于“ Double”数据类型的值为空,导致应用程序崩溃(android)

来自分类Dev

SQL Server-由于多数据类型where子句而导致的SQL Select问题

来自分类Dev

数据类型检查导致C中永无止境的循环

来自分类Dev

numpy数据类型导致数组重复

来自分类Dev

Clob数据类型导致性能问题

来自分类Dev

如何控制计算列的数据类型?

来自分类Dev

char数据类型的循环性质

来自分类Dev

Char数据类型和while循环

来自分类Dev

如何循环递归数据类型

来自分类Dev

由于数据类型不匹配PySpark无法解析列

来自分类Dev

在转换数据类型之前如何重新缩放图像数据

来自分类Dev

将nvarchar数据类型转换为datetime数据类型导致超出范围的值

来自分类Dev

数据类型转换导致R中的NULL值

来自分类Dev

更改数据类型导致更改结果

来自分类Dev

哪些数据类型导致对象收集行为正常?

来自分类Dev

如何计算数据帧中的数据类型数

来自分类Dev

如何计算数据帧中的数据类型数

来自分类Dev

PySpark:连接具有“Struc”数据类型的两列--> 错误:由于数据类型不匹配而无法解析

来自分类Dev

SQL数据错误:将varchar数据类型转换为datetime数据类型导致值超出范围

来自分类Dev

如何计算SAS中宏变量的数据类型

来自分类Dev

CRM中具有不同数据类型的计算

来自分类Dev

计算对象数据类型的rearray中的值的频率

来自分类Dev

计算Django中不同数据类型的总和

来自分类Dev

如何在R中循环使用列表数据类型?

来自分类Dev

函数输入数据类型是否影响循环速度/效率

来自分类Dev

使用for循环转换多列的数据类型

来自分类Dev

如何在R中循环使用列表数据类型?

来自分类Dev

Python 3中for循环的数据类型和文档

Related 相关文章

  1. 1

    SQLSyntaxErrorException:由于 HSQLDB 中的“COALESCE”导致的数据类型异常

  2. 2

    由于“ Double”数据类型的值为空,导致应用程序崩溃(android)

  3. 3

    SQL Server-由于多数据类型where子句而导致的SQL Select问题

  4. 4

    数据类型检查导致C中永无止境的循环

  5. 5

    numpy数据类型导致数组重复

  6. 6

    Clob数据类型导致性能问题

  7. 7

    如何控制计算列的数据类型?

  8. 8

    char数据类型的循环性质

  9. 9

    Char数据类型和while循环

  10. 10

    如何循环递归数据类型

  11. 11

    由于数据类型不匹配PySpark无法解析列

  12. 12

    在转换数据类型之前如何重新缩放图像数据

  13. 13

    将nvarchar数据类型转换为datetime数据类型导致超出范围的值

  14. 14

    数据类型转换导致R中的NULL值

  15. 15

    更改数据类型导致更改结果

  16. 16

    哪些数据类型导致对象收集行为正常?

  17. 17

    如何计算数据帧中的数据类型数

  18. 18

    如何计算数据帧中的数据类型数

  19. 19

    PySpark:连接具有“Struc”数据类型的两列--> 错误:由于数据类型不匹配而无法解析

  20. 20

    SQL数据错误:将varchar数据类型转换为datetime数据类型导致值超出范围

  21. 21

    如何计算SAS中宏变量的数据类型

  22. 22

    CRM中具有不同数据类型的计算

  23. 23

    计算对象数据类型的rearray中的值的频率

  24. 24

    计算Django中不同数据类型的总和

  25. 25

    如何在R中循环使用列表数据类型?

  26. 26

    函数输入数据类型是否影响循环速度/效率

  27. 27

    使用for循环转换多列的数据类型

  28. 28

    如何在R中循环使用列表数据类型?

  29. 29

    Python 3中for循环的数据类型和文档

热门标签

归档