学习编码最重要的就是练习,但如果没有个好的题目,自己学的知识会慢慢忘掉,不熟练。所以,我把我做过的一些练习题目发给大家,给大家练习,然后后面有源代码。
1.译密码
所谓译密码,是指为了通信保密,按一定规律,将通信内容转换成密码,收到加密内容的收信人再按约定的规律将其译回原文。本实例中,将按以下规律将通信内容转换成密码:
将字母A变成字母E,a变成e,即将原文中的字母变成其后的第4个字母。而W变成A,X变成B,Y变成C,Z变成D,即循环加密。字母按上述规律转换,非字母字符不变。例如“love”变成“pszi”。下面是加密程序的代码。
2.九九乘法表
九九乘法表是每个人小时候都要熟读并背诵的。九九乘法表既有行又有列,因此下面这个程序,使用双重循环来实现打印输出一个九九乘法表。要求每一列要对齐。
3.打印数字三角
大练习
做一个基于控制台的学生信息管理系统,要求用数组表示学生信息,至少2条信息。有增删改查等,我会上传源代码,可以照着运行结果写。
源代码:
九九乘法表:
public class JiuJiu
{
public static void main(String[] args){
for(int i=1;i<10;i++){
for(int j=1;j<=i;j++){
if(i*j>=10)
System.out.print(j+"*"+i+"="+i*j+" ");
else
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
}
}
数字三角:
public class SanJiao
{
public static void main(String[] args){
for(int i=0;i<8;i++){
for(int j=0;j<7-i;j++)
System.out.print(" ");
int temp = 1;
int k;
for(k=0;k<i;k++){
if(temp>=100)
System.out.print(" "+temp);
else if(temp>9 && temp<100)
System.out.print(" "+temp);
else
System.out.print(" "+temp);
temp = 2 * temp;
}
for(;k>=0;k--){
if(temp>=100)
System.out.print(" "+temp);
else if(temp>9 && temp<100)
System.out.print(" "+temp);
else
System.out.print(" "+temp);
temp =temp/2;
}
System.out.println();
}
}
}
译密码:
public class MiMa
{
char[] mingWen;
//接收和判断用户输入
public boolean acc(){
java.util.Scanner in = new java.util.Scanner(System.in);
System.out.println("请输入明文:");
String mingWenTemp = in.nextLine().trim();
mingWen = mingWenTemp.toCharArray();
if(!(mingWenTemp == null || "".equals(mingWenTemp))){
return true;
}
else{
System.out.println("输入的明文不能为空!");
return false;
}
}
//加密
public void jiaMi(){
for(int i=0;i<mingWen.length;i++){
if(mingWen[i]>='a' && mingWen[i]<='z' || mingWen[i]>='A'&&mingWen[i]<='Z'){
if(mingWen[i]>='a')
mingWen[i]=(char)(mingWen[i]+4>'z'? (char)(mingWen[i]+4-26) :mingWen[i]+4);
else
mingWen[i]=(char)(mingWen[i]+4>'Z'? (char)(mingWen[i]+4-26) :mingWen[i]+4);
}
}
System.out.println("加密成功!");
}
//解密
public void jieMi(){
for(int i=0;i<mingWen.length;i++){
if(mingWen[i]>='a' && mingWen[i]<='z' || mingWen[i]>='A'&&mingWen[i]<='Z'){
if(mingWen[i]>='a'){
mingWen[i]=(char)(mingWen[i]-4>='a' ? mingWen[i]-4:mingWen[i]-4+26);
}
else{
mingWen[i]=(char)(mingWen[i]-4>='A' ? mingWen[i]-4:mingWen[i]-4+26);
}
}
}
System.out.println("解密成功!");
}
//输出
public void show(){
for(char temp:mingWen){
System.out.print(temp);
}
System.out.println();
System.out.println("----------------------------");
}
public static void main(String[] args){
MiMa mima = new MiMa();
if(mima.acc()){
System.out.println("----------------------------");
System.out.println("明文是:");
mima.show();
mima.jiaMi();
System.out.println("----------------------------");
System.out.println("密文是:");
mima.show();
mima.jieMi();
System.out.println("----------------------------");
System.out.println("解密后是:");
mima.show();
}
else
System.out.println("操作失败!");
}
}
学生管理系统:
import java.util.Scanner;
public class StudentManager
{
private static String[] stuIds = new String[50];
private static String[] stuNames = new String[50];
private static int count =0;
//分割线
public static void separateLine(){
final String MARK = "*";
final int NUMBER = 35;
for(int i=0;i<NUMBER;i++){
System.out.print(MARK);
}
System.out.println();
}
//欢迎界面
public static void welcome(){
separateLine();
System.out.println("\n 欢迎使用学生管理系统\n");
separateLine();
}
//登陆
public static void login(){
Scanner sc = new Scanner(System.in);
String loginChoise =null;
while(true){
while(true){
System.out.println("请选择:-0:退出系统 -1:登陆");
loginChoise = sc.nextLine().trim();
if("0".equals(loginChoise)){
System.out.println("已退出!");
System.exit(0);
}
else if("1".equals(loginChoise)){
break;
}
else{
separateLine();
System.out.println("输入有误,请重新输入!");
}
}
System.out.print("账号:");
String name = sc.nextLine().trim();
System.out.print("密码:");
String password = sc.nextLine().trim();
if("admin".equals(name) && "admin".equals(password)){
System.out.println("登陆成功!");
break;
}
else{
separateLine();
System.out.println("输入有误,请重新输入!");
}
}
}
//菜单
public static void menu(){
Scanner sc = new Scanner(System.in);
String menuChoise = null;
boolean flag = true;//退出登陆时,不再让菜单while循环
while(flag){
System.out.println("请选择:-0:添加学生信息 -1:删除学生信息 -2:修改学生信息");
System.out.println(" -3:查询学生信息 -4:查询所有信息 -5:退出登陆");
System.out.print("选择:");
menuChoise = sc.nextLine().trim();
switch(menuChoise){
case "0":
add();
separateLine();
break;
case "1":
delete();
separateLine();
break;
case "2":
update();
separateLine();
break;
case "3":
showSingle();
separateLine();
break;
case "4":
showAll();
break;
case "5":
flag = false;
System.out.println("已退出!");
separateLine();
break;
default:
separateLine();
System.out.println("输入有误,请重新输入!");
}
}
}
//增
public static void add(){
if(count!=stuIds.length){
Scanner sc = new Scanner(System.in);
System.out.print("请输入学号:");
String stuId = sc.nextLine().trim();
System.out.print("请输入姓名:");
String stuName = sc.nextLine().trim();
if(stuId==null || "".equals(stuId) ||stuName==null || "".equals(stuName)){
System.out.println("输入有误,请重新输入!");
}
else{
count++;
stuIds[count-1]=stuId;
stuNames[count-1]=stuName;
System.out.println("添加成功!");
}
}
else{
System.out.println("人数已满,添加失败!");
}
}
//删
public static void delete(){
boolean flag = false;//标志是否查询到学生
Scanner sc = new Scanner(System.in);
System.out.print("输入要删除的ID:");
String stuId = sc.nextLine().trim();
if(stuId==null || "".equals(stuId)){
System.out.println("输入有误,请重新输入!");
}
else{
for(int i=0;i<count;i++){
if(stuIds[i].equals(stuId)){
System.out.println("学号 姓名");
System.out.println(" "+stuIds[i]+" "+stuNames[i]+"\n");
flag = true;
while(true){
System.out.println("是否确认要删除?是(y) 否(n)");
String choise = sc.nextLine();
if("y".equals(choise)||"Y".equals(choise)){
for(int j=i;j<stuIds.length-1;j++){
stuIds[j]=stuIds[j+1];
stuNames[j]=stuNames[j+1];
}
count--;
System.out.println("删除成功!");
break;
}
else if("n".equals(choise)||"N".equals(choise)){
System.out.println("已取消删除!");
break;
}
else{
System.out.println("输入有误,请重新输入!");
}
}
break;
}
}
if(!flag){
System.out.println("没有找到要查询的学生!");
}
}
}
//改
public static void update(){
boolean flag = false;//标志是否查询到学生
Scanner sc = new Scanner(System.in);
System.out.print("输入要修改的ID:");
String stuId = sc.nextLine().trim();
if(stuId==null || "".equals(stuId)){
System.out.println("输入有误,请重新输入!");
}
else{
for(int i=0;i<count;i++){
if(stuIds[i].equals(stuId)){
flag=true;
System.out.println("旧姓名:"+stuNames[i]);
while(true){
System.out.print("新姓名:");
String stuName = sc.nextLine().trim();
if(stuName==null || "".equals(stuName)){
System.out.println("输入有误,请重新输入!");
}
else{
stuNames[i]=stuName;
System.out.println("修改成功!");
break;
}
}
break;
}
}
if(!flag){
System.out.println("没有找到要修改的学生!");
}
}
}
//查all
public static void showAll(){
System.out.println("学号 姓名");
for(int i=0;i<count;i++){
System.out.print(" "+stuIds[i]+" "+stuNames[i]+"\n");
}
System.out.println("\n学生数:"+count);
separateLine();
}
//查stuId
public static void showSingle(){
boolean flag = false;//标志是否查询到学生
Scanner sc = new Scanner(System.in);
System.out.print("输入要查询的ID:");
String stuId = sc.nextLine().trim();
if(stuId==null || "".equals(stuId)){
System.out.println("输入有误,请重新输入!");
}
else{
for(int i=0;i<count;i++){
if(stuIds[i].equals(stuId)){
System.out.println("学号 姓名");
System.out.println(" "+stuIds[i]+" "+stuNames[i]+"\n");
flag = true;
break;
}
}
if(!flag){
System.out.println("没有找到要查询的学生!");
}
}
}
public static void main(String[] args){
welcome();//欢迎界面
while(true){
login();//登陆
menu();//菜单
}
}
}