第四次編程作業總結

import java.util.Scanner;

class Demo04_01{
    public static int sumDigits(long n) {
        int sum = 0;
        while (n>0) {
            sum = sum + (int)(n % 10);
            n /= 10;
        }
        return sum;
    }

    public static void main(String[] args) {
        System.out.print("請輸入一個正整數:");
        Scanner scanner = new Scanner(System.in);
        System.out.println("這個整數所有數字的和爲:" + sumDigits(scanner.nextLong()));
    }
}
import java.util.Scanner;

class Demo04_02 {
    public static int reverse(int number) {
        int sum = 0;
        while (number != 0){
            sum = sum * 10 + number % 10;
            number /= 10;
        }
        return sum;
    }

    public static boolean isPalindrome(int number) {
        if (number == reverse(number)) {
            return true;
        }
        else {
            return false;
        }
    }

    public static void main(String[] args) {
        System.out.print("請輸入一個整數值:");
        Scanner scanner = new Scanner(System.in);
        if (isPalindrome(scanner.nextInt())) {
            System.out.println("這個整數是迴文數.");
        }
        else {
            System.out.println("這個整數不是迴文數.");
        }
    }
}
import java.util.Scanner;

class Demo04_03{
    public static void displayPattern(int n) {
        for(int i=1;i<=n;i++){
            for(int k=1;k<=n-i;k++){
                System.out.print("  ");
            }
            for(int j=i;j>=1;j--){
                System.out.print(j+" ");
            }
            System.out.println();
        }
    }

    public static void main(String[] args) {
        System.out.print("請輸入打印的行數:");
        Scanner scanner = new Scanner(System.in);
        displayPattern(scanner.nextInt());
    }
}
import java.util.Scanner;

class Demo04_05{
    public static double sqrt(long n) {
        double nextGuess = 0;
        double lastGuess = 1;
        while (true) {
            nextGuess = (lastGuess + n / lastGuess) / 2;
            if(Math.abs(nextGuess - lastGuess) < 0.0001) {
                return nextGuess;
            }
            else {
                double temp;
                temp = nextGuess;
                nextGuess = lastGuess;
                lastGuess = temp;
            }
        }
    }

    public static void main(String[] args) {
        System.out.print("輸入一個正整數:");
        Scanner scanner = new Scanner(System.in);
        double n = sqrt(scanner.nextLong());
        System.out.print("這個數的平方根爲" + n);
    }
}
import java.util.Scanner;

class Demo04_06 {
    public static int reverse(int number) {
        int sum = 0;
        while (number != 0){
            sum = sum * 10 + number % 10;
            number /= 10;
        }
        return sum;
    }

    public static boolean isPalindrome(int number) {
        if (number == reverse(number)) {
            return true;
        }
        else {
            return false;
        }
    }

    public static boolean isPrimeNumber(int number) {
        boolean flag = true;
        for (int i = 2; i <= number / 2; i++) {
            if (number % i == 0) {
                flag = false;
            }
        }
        return flag;
    }

    public static void main(String[] args) {
        int count = 1;
        for (int i = 2; i <= 1000; i++) {
            if (isPalindrome(i) && isPrimeNumber(i)) {
                System.out.print(i + " ");
                count++;
            }
            if (count % 11 == 0) {
                count = 1;
                System.out.println();
            }
            
        }
        
    }
}
import java.util.Scanner;

class Demo04_07 {
    public static int reverse(int number) {
        int sum = 0;
        while (number != 0){
            sum = sum * 10 + number % 10;
            number /= 10;
        }
        return sum;
    }

    public static boolean isPrimeNumber(int number) {
        boolean flag = true;
        for (int i = 2; i <= number / 2; i++) {
            if (number % i == 0) {
                flag = false;
            }
        }
        return flag;
    }

    public static void main(String[] args) {
        int count = 0;
        int i = 2;
        while (true) {
            if (isPrimeNumber(i) && isPrimeNumber(reverse(i)) && i != reverse(i)) {
                System.out.print(i + " ");
                count++;
                if (count % 10 == 0) {
                    System.out.println();
                }
            }
            i++;
            if (count == 100) {
                break;
            }            
        }
        
    }
}
4.4
import java.util.*;
public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.print("請輸入密碼:");
    String str = scanner.nextLine();
    switch (checkPassword(str)) {
        case 0:
            System.out.print("密碼必須是8位以上!");
            break;
        case 1:
            System.out.print("密碼必須只包含字符和數字!");
            break;
        case 2:
            System.out.print("密碼必須包含至少兩個數字!");
            break;
        default:
            System.out.print("密碼檢驗通過!");
            break;
    }
 
}
public static int checkPassword(String pwd) {
    int numDigit = 0;
    int numLetter = 0;
    if (pwd.length() >= 8) {
        for (int i = 0; i < pwd.length(); i++) {
            if (Character.isDigit(pwd.substring(i, i + 1).charAt(0)) ||
                Character.isLetter(pwd.substring(i, i + 1).charAt(0))) {
                if (Character.isDigit(pwd.substring(i, i + 1).charAt(0))) {
                    numDigit++;
                }
                if (Character.isLetter(pwd.substring(i, i + 1).charAt(0))) {
                    numLetter++;
                }
            } else {
                return 1;
            }
        }
        if (numDigit >= 2 && numLetter > 0) {
            return 3;
        } else if (numDigit >= 2 && numLetter == 0) {
            return 1;
        } else if (numDigit == 0 && numLetter > 0) {
            return 1;
        } else return 2;
    } else {
        return 0;
    }
}
4.8
import java.util.*;
public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    System.out.print("請輸入一串字符:");
    String str = scanner.nextLine();
    System.out.print("請輸入要計算的字符:");
    String strLetter = scanner.nextLine();
    char ch = strLetter.charAt(0);
    System.out.print(ch + "在" + str + "中出現的次數爲:" + count(str, ch) + "次");
}
 
public static int count(String str, char ch) {
    int num = 0;
    for (int i = 0; i < str.length(); i++) {
        if (str.charAt(i) == ch) {
            num++;
        }
    }
    return num;
}
4.9
import java.util.*;
    public static void main(String [] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()){                            
            String s = sc.nextLine();
            StringBuffer sb=new StringBuffer(s);        
            System.out.println(sb.reverse().toString());
            }
    }
}
4.10
import java.util.*;
	public static void main(String[] args) {
    Scanner in = new Scanner (System.in);
    System.out.print("請輸入字符串:");
	String s = in.next();
	int count = 0;
	for (int i = 0;i<s.length();i++) {
		if (s.charAt(i)>='A'&&s.charAt(i)<='Z') {
			count ++;
		}
	}
	System.out.print(count);
 
	}
 
}
4.11
import java.util.*;
public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("請輸入兩句話");
        String s1 = scan.nextLine();
        String s2 = scan.nextLine();
        if(s1.length()>s2.length()){
            System.out.println(s1);
        }else{
            System.out.println(s2);
        }      
    }
}
4.12
import java.util.*;
class Home04_12{
 
	public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("請輸入一個十六進制數:");
		String s = in.next();
		int sum = 0;//計算總數
		for (int i = 0;i<s.length();i++) {
			int a = s.charAt(i)>=65?s.charAt(i)-55:s.charAt(i)-48;
			sum+=a*Math.pow(16,s.length()-i-1);	
		System.out.print(sum);
	}
 
}

 

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