2015-11-19 1 views
-3

// est le code suivant sur les formules quadratiques convertibles en méthode de commutation?Comment puis-je changer cette if-instruction pour basculer?

Public class blah blah 
    Public static void main(String[] args) { 
    System.out.println("enter letter a"); 
    New Scanner= System.in 
    Int a = input.nextint() 

// même chose répétée pour les lettres b et c.

// int d est discriminant.

Int d= math.pow(b^2 -4ac, 0.5); 
    Int r1= (-(b) - (d))/2(a) 
    Int r2= (-(b) + (d))/2(a) 

    If(d>0){ 
     System.out.println("2 solutions: r1; " + r1+ " and r2" + r2); 
    }else if(d=0){ 
     System.out.println("1 solutions: r1; " + r1+ " and r2" + r2); 
    }else{ 
     System.out.println("no real solution"); 
} 
+0

Si vous avez un sens, vous aurez besoin de beaucoup de travail à changer pour changer. – StackFlowed

+0

Vous ne pouvez pas gérer 'd> 0' dans une instruction' switch'. – alfasin

+0

Voulez-vous dire '2 * a' par' 2 (a) '? – Blip

Répondre

1

Si vous avez vraiment vraiment vraiment envie d'utiliser un boîtier interrupteur

private static void switchOnIntegerPolarity() { 
     int a = 1; 
     int b = 2; 
     int c = 3; 
     int d = (int) Math.pow(b^2 - 4 * a * c, 0.5); 
     int r1 = (-(b) - (d))/2 * (a); 
     int r2 = (-(b) + (d))/2 * (a); 

     switch ((int) Math.signum(d)) { 
     case 0: // Zero 
      System.out.println("1 solutions: r1; " + r1 + " and r2" + r2); 
      break; 
     case 1: // 'd' is Positive 
      System.out.println("2 solutions: r1; " + r1 + " and r2" + r2); 
      break; 
     case -1: // 'd' is Negative 
      System.out.println("no real solution"); 
      break; 
     } 
    } 
+0

Cela ne fonctionnera pas si le cas est 2, -2, etc. – BlackHatSamurai

+0

Nirav Shah ... J'aime vraiment ce code ... mais une question: est-ce que je peux le faire? Cas (d> 0)? – user27691

+0

BlackHatSamurai merci pour l'aide! – user27691