2017-09-24 29 views
-1

whileループを使用しようとすると、しばらく設定した条件に従わなくなります。たとえ私がwhile s1 != "n")を置いたように、s1 = nであっても続行します。私がwhile s1 == "y")とそれを使用しようとすると、それは非常に刺激的です。私は、彼らが行くか停止するかどうかをユーザーに促す階乗計算をしようとしています。 @Debabrataは使用が文字列に対して等しい言うようなぜwhileループ条件が機能しないのですか?

package factorial; 

import java.util.Scanner; 

public class Factorial { 

    public static void main(String[] args) { 
    int factorial = 1; 
    int number = 6; 
    int i = 1; 
    String s1 = "y"; 

    Scanner keyboard = new Scanner(System.in); 

while(s1 != "n") { 
    System.out.println("Enter an N:"); 
    number = keyboard.nextInt(); 
    while(i <= number) { 
     factorial *= i; 
     i++; 
    } 
    System.out.println("Factorial = "+factorial); 
    System.out.println("Would you like to continue? (y/n)"); 
    s1 = keyboard.next(); 
} 
keyboard.close(); 
System.out.println("Have a nice day!"); 
} 
} 
+2

while(s1 != "n") { 

をしながら(それは 'ですs1.equals ( "n")) 'を返します。 – Debabrata

答えて

-1

、交換してください:

ここでは完全なコードです!

while(!s1.equals("n")) { 
関連する問題