java吧 关注:1,237,676贴子:12,707,300

回复:【入驻JAVA吧 记录学习点滴】

取消只看楼主收藏回复

import java.util.*;
public class Test7 {
public static void main(String[] args) {
int word = 0;
int number = 0;
int space = 0;
int others = 0;
Scanner input = new Scanner(System.in);
System.out.println("Enter some characters:");
String s = input.nextLine();
char[] n = s.toCharArray();
for(int i=0;i<n.length;i++){
if(Character.isLetter(n[i])){
//判断是否字母
word++;
}
else if(Character.isDigit(n[i])){
//判断是否数字
number++;
}
else if(Character.isSpaceChar(n[i])){
//判断是否空格键
space++;
}
else{
//以上都不是则认为是其他字符
others++;
}
}
System.out.println("字母个数:"+word);
System.out.println("数字个数:"+number);
System.out.println("空格个数:"+space);
System.out.println("其他字符个数:"+others);
}
}


60楼2011-12-10 16:01
回复
    嘿嘿 终于有人陪了


    61楼2011-12-10 16:02
    回复
      哦 某党确实V5 我 擦


      62楼2011-12-10 16:03
      回复
        char类型确实蛋疼 用引用类型吧又不能比较 也不能把String转换为char 搞半天诶~~


        63楼2011-12-10 16:05
        回复
          还有这样的~~~~~~ 我喝了咖啡 都不敢晚上喝 不然铁定睡不着


          66楼2011-12-10 18:05
          回复
            嘿嘿 试试看喏


            67楼2011-12-10 18:06
            回复
              import java.util.*;
              public class Test8 {
              /**
              * 【程序8】
              * 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),
              *
              * */
              //power方法 计算a的b次方
              public static int power(int a, int b){
              int p = 1;
              for(int i = 0; i < b; i++){
              p *= a;
              }
              return p;
              }
              //JiSuan方法计算形如aaaa的数值
              public static int JiSuan(int j){
              int i = Test8.power(10, j);
              if(j == 0){
              return i;
              }
              else{
              return i+JiSuan(j - 1);
              }
              }
              public static void main(String[] args) {
              Scanner input = new Scanner(System.in);
              System.out.println("输入要相加数字的个数:");
              int geshu = input.nextInt();
              System.out.println("输入这些数字各位的数:");
              int a = input.nextInt();
              int sum = 0;
              //循环得到一组aaa的值(a,aa,aaa,aaaa)
              int[] arr = new int[geshu];
              for(int i = 0; i < arr.length; i++){
              //;
              arr[i] = a*Test8.JiSuan(i);
              }
              //计算他们的和
              for(int i = 0; i < arr.length; i++){
              sum += arr[i];
              }
              //打印出结果
              for(int i = 0; i < arr.length; i++){
              System.out.print(arr[i] + "+");
              }
              System.out.print("\b");
              System.out.println( "=" + sum);
              }
              }


              68楼2011-12-10 23:50
              回复
                这个程序遇到\b的问题 我想删掉循环中多了的一个 + 实现a+aa+aaa+aaaa = sum 可是这样实现不了~~~蛋疼了~~~


                69楼2011-12-10 23:51
                回复
                  整了半天 表示\b是个神奇的转义符 远没有想象的简单~~~~~~ 上面的程序在 命令行 里可以实现删除一个字符的用途 那么在eclipse只好改下输出方式了 把最后打印结果那段换下就好了
                  //打印出结果
                  for(int i = 0; i < arr.length-1; i++){
                  System.out.print(arr[i]+"+");
                  }
                  System.out.print(arr[arr.length-1]);
                  System.out.println("=" + sum);


                  70楼2011-12-11 00:20
                  回复
                    import java.util.Scanner;
                    public class test {
                    public static void main(String[] args) {
                    int sum = 0 ;
                    Scanner input = new Scanner(System.in);
                    System.out.println("请输入a的值:");
                    int a = input.nextInt();
                    System.out.println("请输入n的值:");
                    int n = input.nextInt();
                    for(int i = 1 ; i <= n ; i++){
                    int z = 1 ;
                    for(int j = 1 ; j <=i ; j++){
                    sum += a*z ;
                    z *= 10 ;
                    }
                    }
                    System.out.println(sum);
                    }
                    }


                    71楼2011-12-11 00:38
                    回复
                      哈哈 同样的题龙哥做的 比我的简单~~


                      72楼2011-12-11 00:38
                      回复
                        喝完咖啡 吃完香蕉~~~~~ 晚上想弄明白final和单态 当然还要做两个题


                        74楼2011-12-11 19:18
                        回复
                          【程序9】
                          题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程 找出1000以内的所有完数。
                          先百度了下完数~~~哈哈 邪恶的知道结果是 6 28 496


                          75楼2011-12-11 19:49
                          回复
                            public class Test9 {
                            /**
                            * 【程序9】
                            *题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.
                            *编程 找出1000以内的所有完 数。
                            *
                            *
                            * */
                            //定义一个方法,能够找出一个数的所有因数,并求的所有因数的和,命名为getFactor();
                            public static int getFactor(int factor){
                            //先找出有多少因数,除去factor本身
                            int count = 0;
                            for(int i = 1; i < factor; i++){
                            if(factor % i == 0){
                            count++;
                            }
                            else{
                            continue;
                            }
                            }
                            //所有因数存在一个数组中
                            int[] arr = new int [count];
                            int j = 0;
                            for(int i = 1; i < factor; i++){
                            if(factor % i == 0){
                            arr[j] = i;
                            j++;
                            }
                            else{
                            continue;
                            }
                            }
                            //让其返回值为所有因数的和
                            int sum = 0;
                            for(int i = 0; i < count; i++){
                            sum += arr[i];
                            }
                            return sum;
                            }
                            public static void main(String[] args) {
                            int number = 0;
                            System.out.println("1000以内所有的完数:");
                            for(number = 1; number < 1000; number ++){
                            if(number == Test9.getFactor(number)){
                            System.out.print(number + " ");
                            }
                            else{
                            continue;
                            }
                            }
                            }
                            }


                            76楼2011-12-11 19:49
                            回复
                              写的很详细哦~~~


                              77楼2011-12-11 19:50
                              回复