条件运算符(!=)(if-else语句)

问题描述:

所需的输出:条件运算符(!=)(if-else语句)

Data Type: int 
Variable Name: a 
Initial Value: 0 
Conditional Operator: != 
Conditional Value: 5 
Increment/Decrement: ++ 
Interval: 1 
for(int a=0;a!=5;a+=1) 
{ 
} 
for(int a=1;a!=5;a+=1) 
{ 
} 
for(int a=2;a!=5;a+=1) 
{ 
} 
for(int a=3;a!=5;a+=1) 
{ 
} 
for(int a=4;a!=5;a+=1) 
{ 
} 

如果更改的时间间隔为2,它应该输出 “!无限循环重试”,如果你改变时间间隔1,它应该输出上面所要求的输出。

我的程序的输出:

Data Type: int 
Variable Name: a 
Initial Value: 0 
Conditional Operator: != 
Conditional Value: 5 
Increment/Decrement: ++ 
Interval: 1 
Infinite Loop! Try Again! 

我的代码:

else if(inc_dec.equals("++") && conditionalOperator.equals("!=")) 
{ 
    for(float c=initialValue;c!=conditionalValue;c+=interval) 
    { 
     if(initialValue == conditionalValue) 
     System.out.print("for("+dataType+" " 
     +varName+"="+c+";"+varName+conditionalOperator+conditionalValue+";" 
     +varName+"+="+interval+"){\n}\n"); 
     else break; 
    } 
     System.out.println("Infinite Loop! Try Again!"); 
    } 

附:该代码应该只使用a = 0如果只陈述

+0

我的猜测:'如果(初值== conditionalValue)' - >'如果(C '否则{的System.out.println(“无限循环! 再试一次!”); break;}'并移除'System.out.println(“无限循环!再试一次!”);'循环外。 –

+0

它的工作原理,但如果我输入的时间间隔2,它会输出为(int a = 2.0; a!= 5.0; a + = 2.0) } (int a = 2.0; a!= 5.0; a + = 2.0){ } for(int a = 4.0; a!= 5.0; a + = 2.0){ }'而不是'无限循环!再试一次!' – Mariel

+0

这里没有'operator-keyword',或者是Java。 – EJP

我修好了!

else if(inc_dec.equals("++") && conditionalOperator.equals("!=")) 
        { 
        for(float c=initialValue;c!=conditionalValue;c+=interval) 
        { 
         if(conditionalValue%interval == 0) 
         System.out.print("for("+dataType+" "+varName+"="+c+";"+varName+conditionalOperator+conditionalValue+";"+varName+"+="+interval+"){\n}\n"); 
         else break; 
        } 
        } 

初始值,如果你通过2递增变量a值,则该条件a!=5永远不会为真。 你的a变成0,2,4,6,8 ...无限(但它永远不会变成5)。因此你将进入无限循环。

+0

我知道,但我的问题是,输出应输出“无限循环!再试一次!”如果它是一个无限循环,并且它不是无限循环,它应该输出for()语句以及变量如何根据您的数据增加。 (int a = 0; a!= 5; a + = 2) – Mariel

+0

{if(a> 5)System.out.print(“infinite loop”); break; '试试看 –