java經典編程題(7-9)

【程序7】題目:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。

import java.util.Scanner;
public class Demo1 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String line = scan.nextLine();
		int len = line.length();
		int n1=0;
		int n2=0;
		int n3=0;
		int n4=0;
		for(int i=0;i<len;i++){
			char c = line.charAt(i);
			if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
				n1++;
			else if(c>='0'&&c<='9')
				n2++;
			else if(c==' ')
				n3++;
			else 
				n4++;
				
		}
	    System.out.println("英文字母個數:"+n1);
	    System.out.println("數字個數:"+n2);
	    System.out.println("空格個數:"+n3);
	    System.out.println("其它字符個數:"+n4);
	}
	
}


【運行結果】

1w23 23 yu @#$ 123 w

英文字母個數:4

數字個數:8

空格個數:5

其它字符個數:3



【程序8】題目:求s=a+aa+aaa+aaaa+aaa的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加有鍵盤控制。


import java.util.Scanner;
public class Demo1 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int a = scan.nextInt();
		int n = scan.nextInt();
		int sum =0;
		int b=a;
		System.out.print(b);
		for(int i=1;i<=n;i++){
			sum += b;
			b = b*10+a;
			if(i<n)
				System.out.print("+"+b);
		}
	    System.out.println("="+sum);
	
	

【運行結果】

2

5

2+22+222+2222+22222=24690




【程序9】題目:一個數如果恰好等於它的因子之和,這個數就稱爲’完數’。例如6=123.編程 找出1000以內的所有完數。

public class Demo1 {

	public static boolean fun(int n){
		int sum = 0;
		for(int i=1;i<n;i++){
			if(n%i==0){
				sum+=i;
			}
		}
		if(sum==n)
			return true;
		else
			return false;
	}

	public static void main(String[] args) {
		for(int i=1; i<=1000;i++){
			if(fun(i)){
				System.out.print(i+" ");
			}
		}
	}
	
}

【運行結果】

6 28 496 











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章