求有时间的Java高手帮忙实验周题目?!!!
大一上课不认真,大二不接触,所以只记的皮毛了~~
------解决方案--------------------
[code=Java][/code]package day;
import java.util.Arrays;
import java.util.Scanner;
/** 加密算法*/
public class JiaMiDemo {
public static void main(String[] args) {
Scanner console=new Scanner(System.in);
System.out.println("加密算法(输入k值1-10)");
int k=console.nextInt();
switch(k)
{
case 1:step(k);break;
case 2:step(k);break;
case 3:step(k);break;
case 4:step(k);break;
case 5:step(k);break;
case 6:step(k);break;
case 7:step(k);break;
case 8:step(k);break;
case 9:step(k);break;
case 10:step(k);break;
}
}
public static void step(int k){
int i;
int j;
String str2="abcdefghijklmnopqrstuvwxyz";
Scanner console=new Scanner(System.in);
System.out.println("输入需要加密字符串:");
String str=console.nextLine();
char[] c1=str2.toCharArray();//将标准字符串转化为数组
for(int index=0;index<str.length();index++){
i=str.charAt(index)-'a';//获取输入字符下标
j=i+k%26; //加密后字符下标
if(j>=26){
//System.out.print("下标越界");
j=j-26;
System.out.print(c1[j]);
}
else{
System.out.print(c1[j]);
}
}
}
}根据你的要求我觉得这个应该完全可以满足你的需要。当然如果需要什么控件之类的自己添加。算法没问题。
这个问题有些地方做了点改动,就是关于J》26的处理。
以后说清楚点,多练习。