2015-09-26 104 views
0

我目前停留在如何计算用户输入的连续数字。我试图做a=lastvariablelastvariable保持0.我知道变量范围,但如何更改a=lastvariable连续数字计数


import java.util.Scanner; 

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

     Scanner scan = new Scanner(System.in); 

     System.out.print("Give a positive #: "); 
     int input = scan.nextInt(); 
     int consecutive= 0; 
     int lastvariable=0; 


     while(input>0){ 
      System.out.print("Give a positive #: "); 
      int a = scan.nextInt(); 
      if(a==lastvariable) 
       consecutive++; 
      if (a<0) 
       input = 0; 
      a = lastvariable; 
     } 
     System.out.println("Consecutive #'s: " + consecutive); 
    } 
+0

**感谢您的帮助!** –

+0

'A = lastvariable'意味着 “的'lastvariable'成'了'值”。 – RealSkeptic

+0

你第一次得到输入(而不是'while循环),你没有把这个值赋给'lastvariable',不确定这是否是有意的。 – RobertR

回答

0

试试这个:

if (a<0) input = 0; 
lastvariable = a; 
+0

请添加一些关于如何解决问题的描述。 – Phani

0

你从来没有lastvariable到其他值。

a = lastvariable; 

表示您将a设置为存储在lastvariable中的值,但不是相反的方式。

0
a = lastvariable; 

被分配到alastvariable的价值,这在当前的代码,将永远是0。你必须这样做:

lastvariable = a; 
1

改变你的while循环这种方式。你没有设置最后一个变量的小错误。

while(input>0){ System.out.print("Give a positive #: "); int a = scan.nextInt(); if(a==lastvariable) consecutive++; if (a<0) input = 0; lastvariable = a; //small correction here }