当前位置: 代码迷 >> J2SE >> 这个的循环,为什么会跳过第二个循环直接输出后再进入第二个循环啊该怎么解决
  详细解决方案

这个的循环,为什么会跳过第二个循环直接输出后再进入第二个循环啊该怎么解决

热度:169   发布时间:2016-04-23 19:50:51.0
这个的循环,为什么会跳过第二个循环直接输出后再进入第二个循环啊啊啊啊
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
         Scanner input=new Scanner(System.in);
         int repeat=input.nextInt();
         for(int i=0;i<=repeat;i++)
         {   
                       
 int sum=0;
             int count=0;
 String str=input.nextLine();
             for(int j=0;j<str.length();j++)
             {
                 int c=Integer.parseInt(str.charAt(j)+"");
                 count++;
                 sum=sum+c;             
             }  
 System.out.print("number="+count);
             System.out.print(",");
             System.out.println("sum="+sum);  
         }
     }
}

------解决思路----------------------
那是当然了,因为你的输入放在循环里面了,而且。。。我也没看明白你的意图。。。。。。、
------解决思路----------------------
我试了试,果然是跳过里面的str的循环,后来里面那部分代码(String str=input.nextLine();)改成(String str=input.nextInt()+"')这样子可以按顺序进行里面的循环。
原因是:nextLine读取的是下个换行符前的内容,第一次nextInt输入后已经换行,那str获取的就是“”了,因为长度是0,所以跳过。第二次循环进行时,是需要你按下Enter的,所以会读到。
  相关解决方案