50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒。今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没有进入大学的状态啊,旷课那是太常事了。明天去见我的导师,要求带上寒假计划,还得好好想想啊,要么只能说计划睡觉了。。。O(∩_∩)O哈哈~
【程序46】 TestString.java
题目:两个字符串连接程序
javapackage 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)的整数值,每读取一个值,程序打印出该值个数的*。
javapackage 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的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
javapackage 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
题目:计算字符串中子串出现的次数
javapackage 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"中。
javapackage 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][3]; 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(); } } }