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