("请输入一个4位数字:");
String str = in.next();
if (!((str).matches("\\d{4}"))) {
System.out.println("输入的不是4位数字!");
System.exit(0);
}
char[] c = str.toCharArray();
int[] a = new int[4];
for (int i = 0; i < a.length; i++) {
a[i] = ((int) (c[i] - '0') + 5) % 10;
}
int t;
t = a[0];
a[0] = a[3];
a[3] = t;
t = a[1];
a[1] = a[2];
a[2] = t;
System.out.println("结果是:" + a[0] + a[1] + a[2] + a[3]);
}
}
或
import java.util.*;
public class Demo48 {
public static void main(String args[]) {
Scanner s = new Scanner(System.in);
int num=0,temp;
do{
System.out.print("请输入一个4位正整数:");
num = s.nextInt();
}while (num<1000||num>9999);
int a[]=new int[4];
a[0] = num/1000; //取千位的数字
a[1] = (num/100)%10; //取百位的数字
a[2] = (num/10)%10; //取十位的数字
a[3] = num%10; //取个位的数字
for(int j=0;j<4;j++) {
a[j]+=5; a[j]%=10;
}
for(int j=0;j<=1;j++) {
temp = a[j]; a[j] = a[3-j]; a[3-j] =temp;
}
System.out.print("加密后的数字为:");
for(int j=0;j<4;j++) System.out.print(a[j]);
}
}
【程序49】 题目:计算字符串中子串出现的次数。
import java.util.Scanner;
public class Demo49 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入主串:");
String str1 = in.nextLine();
System.out.println("请输入子串:");
String str2 = in.nextLine();
// 生成子串长度的N个字符串数组
String[] sa = new String[str1.length() - str2.length() + 1];
for (int i = 0; i < sa.length; i++) {
sa[i] = str1.substring(i, i + str2.length());
}
int sum = 0;
// 子串与N个拆开的子串比对
for (int i = 0; i < sa.length; i++) {
if (sa[i].equals(str2)) {
// 成功配对,计数器+1;
sum++;
// 因为不计算重叠的子串,所以跳过配对之后的部分拆分子串
i = i + str2.length();
}
}
System.out.println("主串中共包含" + sum + "个字串");
}
}
【程序50】 题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文import java.io.File;
import java.io.FileWriter;
import java.util.Scanner;
class Student {
private int number = 0;
private String name = "";
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高等教育JAVA经典算法50题(28)全文阅读和word下载服务。
相关推荐: