2014-12-22 3 views
0

Я буквально понятия, что здесь не так ...Ошибка компиляции Java.util.NoSuchElementExecption при использовании сканера?

также программа вам ввод 2 номера, и это создает звезду поле с высотой х и у ширины

import java.util.*; 

public class NestedLoops{ 
    public static void main(String[] args){ 

     Scanner s = new Scanner(System.in); 

     int height; 
     int width; 

     System.out.println("Please input the Height"); 
      height = s.nextInt(); 
     System.out.println("Please input the Width"); 
      width = s.nextInt(); 


      for (int i = 0; i < height; i++){ 
       for (int j = 0; j < width; j++){ 
        System.out.print("*") ; 
       } 
        System.out.println("") ; 
      } 


    } 
} 
+1

Это важно различать * исключения * (которые возникают, когда программа запущена) и * компиляция ошибку * (которые возникают при компиляции). Похоже, вы действительно получаете исключение, поэтому ваш заголовок не должен говорить о ошибках компиляции. –

+0

И я не могу воспроизвести проблему, между прочим, я запускаю ее из командной строки, вводим высоту и ширину, и она отображает поле. Пожалуйста, дайте более подробную информацию. –

+0

Ах да, мне это интересно. Я запустил его в командной строке некоторое время назад, и теперь я попробовал быстрый онлайн-компилятор, и он там не работает. Спасибо @JonSkeet – user2986734

ответ

0

Вы должны проверять ли вы имеет ряд на месте уже используя hasNextInt API, как показано ниже

if (s.hasNextInt()) { 
    height = s.nextInt(); 
} 
if (s.hasNextInt()) { 
    width = s.nextInt(); 
}