解决方案 »

  1.   

    这样不知道对不对啊 Scanner in = new Scanner(System.in);
    while (true) {
    int a, b;
    a = in.nextInt();
    // 奇偶判断
    if (a % 2 == 0) {
    b = a / 2;
    } else {
    b = (a + 1) / 2;
    }
    int y = 1;
    for (int i = 1; i <= b; i++) {
    String s1 = "";
    int tempSum = 0;
    for (int j = i; j <= b; j++) {
    s1 += j + "+";
    tempSum += j;
    if (tempSum == a) {
    System.out.println(a + " = " + s1.substring(0, s1.length()-1));
    y++;
    break;
    }
    }
    }
    System.out.println(y);
    }
      

  2.   

    如果你是在OJ上做题的话,类名要是Main 而且多组输入时也要注意一下
    import java.util.Scanner;
    public class Main{
         public static void main(String args[]){
             Scanner in=new Scanner(System.in);        
             while(in.hasNext()){     
             int a,b; 
             a=in.nextInt();     
             if(a%2==0){
                 b=a/2;
             }else{
                 b=(a+1)/2;
             }
             int y=1;     
             for(int i=1;i<b;i++){     
                 int x=0;
                 for(int j=i;x<a;j++){           
                    x=x+j;
                 }      
                 if(x==a){
                    y=y+1; 
                 }
             }
             System.out.println(y);         
         }
        }
    }