2015-03-22 1 views
0

Я все еще участвую в программировании и действительно нуждаюсь в некоторой помощи, мне нужно сделать программу с множеством функций, и большая часть ее выполнена, но у меня возникают трудности создавая определенную линию. Я использую цикл while, чтобы заставить пользователя вводить числа для вычисления наибольших, самых маленьких, а также сумм со случайным сгенерированным числом. Мне нужно запрограммировать способ, который, если пользователь вводит оператор exit -99, перед тем, как будут введены какие-либо другие данные, он скажет: «Вы не указали номера». и выйти из программы. Любая помощь будет потрясающей, и ниже будет мой программный код.Как реализовать оператор отмены, если данные не введены

public class LargestSmallest 
{ 
    public static void main(String [] args) 
    { 
    //identifier declarations 
    int number; 
    int numberend = -99; 
    int largest = Integer.MIN_VALUE; 
    int smallest = Integer.MAX_VALUE; 
    int number1; 
    int sum1; 
    int sum2; 

    //create a Scanner object to read from the keyboard & input 
    Scanner input = new Scanner(System.in); 

    //create a random object 
    Random randomNumbers = new Random(); 

    //get one random number 
    number1 = randomNumbers.nextInt(9); 

    //display prompts and get input 
    System.out.println("Enter an integer, or -99 to quit:"); 

    //loop for number input 
    while ((number = input.nextInt()) != numberend) { 
     System.out.println("Enter an integer, or -99 to quit:"); 

     //largest & smallest number sorting 

     if (number > largest) { 
      largest = number; 
     } 
     if (number < smallest) { 
      smallest = number; 
     } 
    } 
    //calculate final sums 
    sum1 = number1 + largest; 
    sum2 = number1 + smallest; 

    //final statements 
    System.out.println("Largest:" + largest); 
    System.out.println("Smallest:" + smallest); 
    System.out.println("Random:" + number1); 
    System.out.println("Largest + Random:" + sum1); 
    System.out.println("Smallest + Random:" + sum2); 
    } 
} 

ответ

0

Если вы просто хотите, чтобы закончить программу с соответствующим сообщением в случае отсутствия ввода данных пользователя, вы можете сделать что-то вроде этого:

while ((number = input.nextInt()) != numberend) { 
    System.out.println("Enter an integer, or -99 to quit:"); 

    //largest & smallest number sorting 

    if (number > largest) { 
    largest = number; 
    } 
    if (number < smallest) { 
    smallest = number; 
    } 
} 
if (largest > Integer.MIN_VALUE) { 
    //calculate final sums 
    sum1 = number1 + largest; 
    sum2 = number1 + smallest; 

    //final statements 
    System.out.println("Largest:" + largest); 
    System.out.println("Smallest:" + smallest); 
    System.out.println("Random:" + number1); 
    System.out.println("Largest + Random:" + sum1); 
    System.out.println("Smallest + Random:" + sum2); 
} else { 
    System.out.println("You have entered no numbers"); 
} 

Если вы хотите игнорировать -99 и остаться в петле:

while ((number = input.nextInt()) != numberend || largest == Integer.MIN_VALUE) { 
    while (number == numberend) { 
     System.out.println("You have entered no numbers, you can't quit"); 
     number = input.nextInt(); 
    } 
    System.out.println("Enter an integer, or -99 to quit:"); 

    //largest & smallest number sorting 

    if (number > largest) { 
    largest = number; 
    } 
    if (number < smallest) { 
    smallest = number; 
    } 
} 
+0

Это сработало отлично! Я так благодарен! Спасибо огромное! – iamriotus

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