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的,所以会读到。