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);
}
}