JAVA语言程序设计课后习题----第六单元解析(仅供参考)

1  本题就是基本函数的用法

 1 import java.util.Scanner;
 2 
 3 public class Poone {
 4 
 5 
 6     public static void main(String[] args) {
 7         Scanner input = new Scanner(System.in);
 8         System.out.println("请输入一个字符串:");
 9         String string = input.next();
10         System.out.println("显示这个字符串:");
11         System.out.println(string);
12         System.out.println("这个字符串长度为:");
13         System.out.println(string.length());
14         System.out.println("该字符串第一个字符");
15         System.out.println(string.charAt(0));
16         System.out.println("该字符串最后一个字符:");
17        // System.out.println(string.charAt(2));
18         System.out.println(string.charAt(string.length()-1));
19     }
20 
21 }

2  String类中有一个方法 public boolean contains(Sting s)就是用来判断当前字符串是否含有参数指定的字符串

 1 import java.util.Scanner;
 2 
 3 public class Potwo {
 4     public static void main(String[] args) {
 5 
 6         Scanner input = new Scanner(System.in);
 7         System.out.println("请你输入第一个字符串:");
 8         String s1 = input.next();
 9         System.out.println("请你输入第二个字符串");
10         String s2 = input.next();
11         System.out.print("第二个字符串是否为第一个字符串的子串:");
12         System.out.println(s1.contains(s2));
13 
14     }
15 
16 }

3  判断书写格式是否合法,自行百度正则表达式

 1 import java.util.Scanner;
 2 
 3 public class Pothree {
 4     public static void main(String[] args) {
 5         String regex = "\\d{3}+-\\d+-\\d{3}+-\\d{5}+-\\d";
 6         //String a = "887-7-111-50690-4";
 7         System.out.println("请你输入一个字符串:");
 8         Scanner input = new Scanner(System.in);
 9         String a =input.next();
10         if (a.matches(regex))
11             System.out.println("该字符串合法");
12         else
13             System.out.println("该字符串不合法");
14     }
15 }

4  定义一个在字母范围的条件即可

 1 import java.util.Scanner;
 2 
 3 public class Pofour {
 4     public static void main(String[] args) {
 5         Scanner input = new Scanner(System.in);
 6         System.out.println("请你输入一串字符串:");
 7         String s = input.next();
 8         System.out.print("字符串中字母的个数为:"+ countLetters(s));
 9     }
10     public static int countLetters(String s){
11         int count =0;
12 //        字符串转数组
13         char []A = s.toCharArray();
14         for (int i = 0; i <A.length ; i++) {
15             if (A[i]>='a'&&A[i]<='z'||A[i]>='A'&&A[i]<='Z')
16                 count++;
17         }
18         return count;
19     }
20 }

5  本题只要根据题目意思理解就行

 1 public class Pofive {
 2     public static void main(String[] args) {
 3 //        输出字符串
 4         System.out.println(toBinary(6));
 5     }
 6     public static StringBuilder toBinary(int value){
 7 
 8         StringBuilder string = new StringBuilder();
 9         int []a = new int[32];
10         int i=0,count=0;
11 //        将十进制变成2进制
12         while (value!=0){
13             a[i]= value%2;
14             value /= 2;
15             count++;
16             i++;
17         }
18         int t = count-1;
19         int  []b = new int[count];
20 //        将数组里面的值倒存
21         for (int j = 0; j <count ; j++) {
22             b[j]=a[t];
23             t--;
24 //            将值插入字符串指定位置
25             string.insert(j,b[j]);
26         }
27 
28         return string;
29     }
30 }

6  把字符串里面的值倒过来输出即可

 1 public class Posix {
 2     public static void main(String[] args) {
 3 
 4         System.out.println(sort("beijing"));
 5     }
 6     public static String sort(String s){
 7         String string=new String();
 8         for (int i = s.length()-1; i >=0 ; i--) {
 9             System.out.print(s.charAt(i));
10         }
11         System.out.println();
12         return string;
13     }
14 }

7  只要把对应的ascii值+1即可

 1 import java.util.Scanner;
 2 
 3 public class Poseven {
 4     public static void main(String[] args) {
 5         //System.out.println(');
 6         Scanner input = new Scanner(System.in);
 7         System.out.print("请输入一串字符串:");
 8         String string = input.next();
 9         char []A = string.toCharArray();
10         System.out.print("该字符串的密文为:");
11         for (int i = 0; i < A.length; i++) {
12             if ((A[i]>='a'&&A[i]<='z'||A[i]>='A'&&A[i]<='Z'))
13                 System.out.print((char)(A[i]+1));
14             else
15                 System.out.print(A[i]);
16         }
17     }
18 }

8  只要把对应的ascii值-1即可

import java.util.Scanner;

public class Poeight {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("请输入一串字符串:");
        String string = input.next();
        char []A = string.toCharArray();
        System.out.print("该字符串的明文为:");
        for (int i = 0; i < A.length; i++) {
            if ((A[i]>='a'&&A[i]<='z'||A[i]>='A'&&A[i]<='Z'))
                System.out.print((char)(A[i]-1));
            else
                System.out.print(A[i]);
        }
    }
}

9  根据题目意思,在“ ”,“,”,“.”分割即可

 1 public class Ponine {
 2     public static void main(String[] args) {
 3         String s = "no pains,no gains.";
 4         int count=0;
 5 //        字符串变数组
 6         char[]A =s.toCharArray();
 7         char []B=new char[26];
 8         for (int AA:A){
 9             System.out.print((char)AA);
10         }
11         System.out.println();
12       //  for (int i = 0; i <A.length ; i++) {
13         int k=0;
14            while (A[k]!='.') {
15                if (A[k] == ' ' || A[k] == ',') {
16                    k++;
17                    System.out.println();
18                    if (k == A.length)
19                        k--;
20                }
21                System.out.print(A[k]);
22                k++;
23            }
24      //   }
25         System.out.println();
26             int j=0;
27         for (int i = 0; i <A.length ; i++)
28             if (A[i] != ' ' && A[i] != ',' && A[i] != '.') {
29                 B[j] = A[i];
30                 j++;
31                 count++;
32             }
33 
34     }
35 }

10  熟悉cmd下执行java程序

 11  冒泡法进行排序

 12、13  自行百度查看

猜你喜欢

转载自www.cnblogs.com/PerZhu/p/10886871.html