本文编写于 234 天前,最后修改于 234 天前,其中某些信息可能已经过时。

【程序46】 TestString.java
题目:两个字符串连接程序

package test50;

import java.util.Scanner;

/**
 * @author VellBibi
 *【程序46】 TestString.java
 *题目:两个字符串连接程序
 *注:转换成数组的连接,实际使用String.concat()
 */
public class TestString {

    public static String connextString(String str1, String str2){
        byte[] buf = new byte[str1.length() + str2.length()];
        str1.getBytes(0, str1.length(), buf, 0);
        str2.getBytes(0, str2.length(), buf, str1.length());
        return new String(buf);
    }
    
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("输入第一个字符串:");
        String str1 = s.next();
        System.out.println("输入第二个字符串:");
        String str2 = s.next();
        System.out.println(connextString(str1, str2));
    }
}


【程序47】 TestPrint.java
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

package test50;

import java.util.Scanner;

/**
 * @author VellBibi
 *【程序47】 TestPrint.java
 *题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
 */
public class TestPrint {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int[] a = new int[7];
        for(int i=0; i<7; i++){
            System.out.print("输入第"+(i+1)+"个整数:");
            a[i] = s.nextInt();
        }
        
        for(int i=0; i<7; i++){
            for(int j=0; j<a[i]; j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }

}


【程序48】 TestCode.java
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字
都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

package test50;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * @author VellBibi
 *【程序48】 TestCode.java
 *题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字 
 *都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
 */
public class TestCode {
    
    public static void encrypt(int[] a){
        int cup = 0;
        for(int i=0; i<4; i++){
            a[i] = (a[i] + 5) % 10;
        }
        cup = a[0];
        a[0] = a[3];
        a[3] = cup;
        
        cup = a[1];
        a[1] = a[2];
        a[2] = cup;
    }
    
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int[] a = new int[4];
        for(int i=0; i<4; i++){
            System.out.print("输入第"+(i+1)+"位数:");
            a[i] = s.nextInt();
        }
        encrypt(a);
        for(int i=0; i<4; i++){
            System.out.print(a[i]);
        }
    }
}

验证数据:


【程序49】 TestString2.java
题目:计算字符串中子串出现的次数

package test50;

import java.util.Scanner;

/**
 * @author VellBibi
 *【程序49】 TestString2.java
 *题目:计算字符串中子串出现的次数 
 */
public class TestString2 {

    /**
     * 在str1中查找str2的个数
     * @param str1
     * @param str2
     * @return
     */
    public static int findString(String str1, String str2){
        int count = 0;
        char[] chs1 = str1.toCharArray();
        char[] chs2 = str2.toCharArray();
        for(int i=0,j=0; i<chs1.length; i++){
            for(j=0; j<chs2.length; j++){
                if(chs1[i+j] != chs2[j])
                    break;
            }
            if(j == chs2.length){//完全匹配
                count++;
                i = i + j - 1;
            }
        }
        return count;
    }
    
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        System.out.println("输入字符串:");
        String str1 = s.next();
        System.out.println("输入要查找的字符串:");
        String str2 = s.next();
        
        System.out.println("查找到的个数:" + findString(str1, str2));
    }
}

【程序50】TestStu.java
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算
出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。

package test50;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

/**
 * @author VellBibi
 *【程序50】TestStu.java
 *题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算 
 *出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
 */
public class TestStu {

    public static void main(String[] args) {
        int n = 5;//人数
        Scanner s = new Scanner(System.in);
        String[] num = new String[n];
        String[] name = new String[n];
        float[][] grade = new float[n][6];
        float[] ave = new float[n];
        //输入数据
        for(int i=0; i<n; i++){
            System.out.print("学号:");
            num[i] = s.next();
            System.out.print("姓名:");
            name[i] = s.next();
            for(int j=0; j<3; j++){
                System.out.print("第"+(j+1)+"门课成绩:");
                grade[i][j] = s.nextFloat();
            }
        }
        //处理数据
        for(int i=0; i<n; i++){
            for(int j=0; j<3; j++){
                ave[i] += grade[i][j];
            }
            ave[i] /= 3;
        }
        //写入文件
        try {
            FileWriter fw = new FileWriter(new File("d://stud.txt"));
            BufferedWriter bw  = new BufferedWriter(fw);
            for(int i=0; i<n; i++){
                bw.write("学号:" + num[i] + "  ");
                bw.write("姓名:" + name[i] + "  ");
                bw.write("成绩:{  ");
                for(int j=0; j<3; j++){
                    bw.write(grade[i][j] + "  ");
                }
                bw.write("} ");
                bw.write("平均成绩: " + ave[i]);
                bw.newLine();
            }
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}