2015-03-01 3 views
-1

Так что я пытаюсь сделать эту небольшую программу как упражнение для класса, и я честно не могу понять, почему значение x продолжает заменять w. Может кто-нибудь объяснить мне, почему это происходит. Я знаю, что ASCII-w w имеет меньшее значение, чем x, поэтому я действительно не понимаю.
импорт java.util. *;Почему одно значение продолжает отображаться больше, чем другое?

public class SmallestIntMod 
{ 
    public static void main(String [] args) 
    { 
    Scanner scan = new Scanner(System.in); 
    System.out.println("Enter a value for w: "); 
    int w = scan.nextInt(); 
    int smallest = w; 
    System.out.println("Enter a value for x: "); 
    int x = scan.nextInt(); 
    if (x < smallest); 
    { 
     smallest = x; 
    } 
    System.out.println("Enter a value for y: "); 
    int y = scan.nextInt(); 
    if (y < smallest) 
    { 
     smallest = y; 
    } 
    System.out.println("Enter a value for z: "); 
    int z = scan.nextInt(); 
    if (z < smallest) 
    { 
     smallest = z; 
    } 
    System.out.println("The smallest value is: " + smallest); 
    } 
} 

ответ

2

Снимите ;:

if (x < smallest); 
       ^
{ 
    smallest = x; 
} 

с запятой заканчивается, если заявление, так что следующий блок запускается на выполнение каждый раз, независимо от значений x и smallest.

+0

О, боже, спасибо вам большое! Я не могу поверить, что продолжал игнорировать это ... – C0C0B

Смежные вопросы