2014-01-28 3 views
0

Я пытаюсь написать небольшую программу, касающуюся землетрясений и величин.Ввод правильного условия для цикла for

Когда программа запущена, она просит пользователя ввести число для количества землетрясений, на которое пользователь хочет отправить величины. В зависимости от ответа программа затем предлагает пользователю ввести величину для каждого землетрясения. Я написал следующий код ниже, но у меня проблемы с for loop.

Очевидно, что в цикле for, ставя i <= numberOfEarthquakes, программа не позволяет правильно скомпилировать программу. Что является простым способом дать i условие, которое коррелирует с введенным числом от пользователя. Большое спасибо.

(это меньшая часть большой программы, я надеюсь написать)

import java.util.*; 

public class Earthquakes { 

    public static void main(String[] args) { 

     Scanner console = new Scanner(System.in); 
     System.out.print("How many magnitudes will you enter? "); 
     String numberOfEarthquakes = console.next(); 

     for (int i = 1; i <= numberOfEarthquakes; i++) { 
      System.out.print("Enter magnitude for earthquake " + i); 
      String magnitudeOfEarthquake = console.next(); 
     } 
    } 
} 
+2

Прочитать ошибку компилятора. Вам нужно разобрать строку в число. – SLaks

+0

parse console.next() как этот Integer.parseInt (numberOfEarthquakes); – Zeus

+3

@ Zeus Не делай этого. Это просто изобретать колесо и сбивать с толку людей. Вместо этого сделайте 'console.nextInt();' – Justin

ответ

5

Сделать это String numberOfEarthquakes = console.next(); к int numberOfEarthquakes = console.nextInt();

Вы не можете сравнить String с int.

+0

Большое спасибо! Я бы поднял вас, но мой рейтинг слишком низок. – Rivers31334

0

Конвертировать numberOfEarthquakes из строки в Integer. Используйте Integer.parseInt(numberOfEarthquakes) для преобразования String в Intger.

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