码农的世界Java 杂谈

【Java编程基本功】(四)统计字符,完数,求和

2019-03-22  本文已影响14人  suxueJ

第十题

输入一行字符,分别统计出其中 英文字母、空格、数字和其它字符的个数。

思路:

1)创建一个数组来存储字符,

2)通过比较字符的 ASCII码 的值来统计个数。

代码:

import java.util.Scanner;

public class Count {

public static void main(String[] args) {

int number=0;

int letter=0;

int blank=0;

int other=0;

char[] ch = null; 

System.out.println("请输入需要统计的字符:");

Scanner in = new Scanner(System.in);

String s = in.nextLine();

ch = s.toCharArray();

for(int i=0;i

if( ch[i] >='0' && ch[i] <= '9' ){

number++;

}else if((ch[i]>='a'&& ch[i]<='z')||(ch[i]>='A' && ch[i]<='Z')){

letter++;

}else if(ch[i]==' '){

blank++;

}else{

other++;

}

}

System.out.println("数字个数"+number);

System.out.println("英文字母个数"+letter);

System.out.println("空格个数"+blank);

System.out.println("其他字符个数"+other);

}

}

第十一题

求 s=a+aa+aaa+aaaa+aa...a 的值,其中 a 是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。  

思路:

我们需要输入两个数 a 和 n,a 就是数字的值,n代表数字的个数。

代码:

import java.util.Scanner;

public class Additive {

public static void main(String[] args) {

long b=0,s=0;

Scanner in = new Scanner(System.in);

System.out.println("请输入a的值:");

int a = in.nextInt();

System.out.println("请输入相加的项数n的值");

int n = in.nextInt();

for(int i=0;i

b=b+a;

s=s+b;

a=a*10;

System.out.println(b);

}

System.out.println(s);

}

}

第十二题

一个数如果恰好等于它的因子之和,这个数就称为 "完数",例如6=1+2+3。编程找出1000以内的所有完数。

思路:

穷举法(简直就是万能的存在~)

代码:

public class EndNumber {

public static void main(String[] args) {

System.out.println("1000以内的完数有:");

for(int i=1;i<1000;i++){

int t=0;

for(int j=1;j<=i/2;j++){

if(i%j==0){

t=t+j;

}

}

if(t==i){

System.out.println(t);

}

}

}

}

也不知道和小伙伴们想法是不是一样的,就先写到这里了~至于后面的那道小球下落的题,咱们先留着,让小伙伴多想一天~嘿嘿!

想学习Java的小伙伴注意啦!我整理了一套从最基础的Java入门级学习到Java框架内容,送给每一位想要学习Java的小伙伴,想要获取资料,可以关注微信公众号“速学Java”哦~这里是小白聚集地,欢迎初学和进阶中的小伙伴~

关注微信公众号:速学Java

上一篇下一篇

猜你喜欢

热点阅读