2013-08-20 6 views
0
import java.io.*; 
public class AdamHmwk4 { 
    public static void main(String [] args) throws IOException { 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 

     int counter1; 
     int counter2; 
     int counter3; 
     String answer = ""; 

     System.out.println("Welcome to Adam's skip-counting program!"); 
     System.out.println("Please input the number you would like to skip count by."); 
     counter1 = Integer.parseInt(br.readLine()); 

     System.out.println("Please input the number you would like to start at."); 
     counter2 = Integer.parseInt(br.readLine()); 

     System.out.println("Please input the number you would like to stop at."); 
     counter3 = Integer.parseInt(br.readLine()); 

     System.out.println("This is skip counting by" + counter1 + ", starting at" + counter2 + "and ending at" + counter3 +":"); 

     while (counter2 = counter3) { 
      counter2 = counter2 + counter1; 
      counter3 = counter2 + counter1; 
     } 
    } 
} 

Я пытаюсь сделать программу подсчета пропусков. Когда я компилирую этот код, строка while(counter2 = counter3){ отображается как ошибка Несовместимые типы. Компилятор говорит, что нашел «int», но требует «логического». Имейте в виду, что я новичок, поэтому я еще не изучил логики в своем классе Java.Java: Несовместимые типы (int/boolean)

+0

Как бы сделать цикл while в правильном цикле? Прямо сейчас, после применения исправления Mik378, цикл не активируется. –

+0

Каковы текущие значения для 'counter2' и' counter3', если вы положили точку останова на строку 'while'? – Mik378

ответ

3

Вы не можете сравнивать значения с =, который является оператором присваивания. Используйте ==, чтобы сравнить цены. Изменение

while(counter2 = counter3){ 

в

while(counter2 == counter3){ 

Вот introductory page for Java operators.

1

используется оператор присваивания:

while(counter2 = counter3) 

вместо оператора равенства:

while(counter2 == counter3) 
0

Вот проблема:

   while(counter2 = counter3) 

= используется для назначения и этот пост statement, counter2 будет присвоено значение counter3. Следовательно, цикл while не будет вести себя так, как вы хотите. Вам необходимо использовать == для сравнения счетчика2 с меткой 3

   while(counter2 == counter3) 
Смежные вопросы