主题:求解次题
心若雄鹰
[专家分:0] 发布于 2007-10-11 17:19:00
[color=000000][color=000000][color=FFFFFF][color=000000][color=000000][color=000000][color=FFFFFF][color=008000][color=800000][color=808000][color=000080][color=800080][color=000080][color=808000][color=800000][color=008000]编写一个加密Application程序,从键盘出入一个字母,输出这个字母加密后的结果。加密操作是将字母变换成倒序的字母,如A变成Z,B变成Y,X变成C等。[/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color][/color]希望大家能多多帮忙哦!带点注释最好了!!因为我的基础是连零都不是。
回复列表 (共8个回复)
沙发
litao616 [专家分:100] 发布于 2007-10-11 19:15:00
package ppa;
import java.io.*;
public class Tc {
public static void main(String[] args) throws Exception
{
//键盘输入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int [] c=new int[26];
int [] d=new int[26];
int num1=90;
int num=65;
char ch[] = new char[c.length];
for(int i=0;i<c.length;i++)//给c[] ,d[]里复制A-Z,Z-A
{
c[i]=num;
d[i]=num1;
num++;
num1--;
}
for (int i = 0; i < str.length(); i++)
{
ch[i]=str.charAt(i);//把输入的字母复制给 ch[]数组里
for(int j=0;j<c.length;j++)
{
if(ch[i]==c[j])//如果输入字母等于int [] c里的字母
{
System.out.print((char)d[j]);//强制转换为char类型 打印int [] d里相对应的字母
}
}
}
}
}
板凳
haoboy0817 [专家分:880] 发布于 2007-10-11 19:25:00
哥们,看一下吧!
import java.io.*;
public class MiMa
{
public static void main(String[] args) throws Exception //主函数
{
char s=' ';
System.out.println("请输入一个字符:"); //读入一个字符
try
{
s=(char)System.in.read();
}
catch(Exception e)
{}
//Asc aa=new Asc(s);
//int Key1=Integer.parseInt(args[0]);
int a=0,b,c;
char es;
if(s>='a'&&s<='z')
{
b=Asc.getToNum(s); //用类名调用它的静态方法
a=219-b;
}
else if(s>='A'&&s<='Z')
{
c=Asc.getToNum(s); //用类名调用它的静态方法
a=115-c;
}
es=Asc.getAsc(a); //用类名调用它的静态方法
System.out.println("转换后的字符为:"+es);
}
}
class Asc //定义一个类,完成字母与其对应的asc码值之间的转换功能
{
/*public Asc(char asc)
{
this.asc=asc;
}*/
static char getAsc(int num)
{
char zimu = (char)num;
return zimu;
//System.out.println(zimu);
}
static int getToNum(char zi)
{
//System.out.println(((zi - 'A') + 65));
return (zi - 'A') + 65;
}
}
3 楼
litao616 [专家分:100] 发布于 2007-10-11 19:31:00
2楼的哥们,你输入ABCDEFG看看!
4 楼
litao616 [专家分:100] 发布于 2007-10-11 19:33:00
你在输入小写的abc看看
5 楼
litao616 [专家分:100] 发布于 2007-10-11 19:51:00
import java.io.*;
public class Tc {
public static void main(String[] args) throws Exception
{
//键盘输入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int [] c=new int[26];
int [] d=new int[26];
int [] e=new int[26];
int [] f=new int[26];
int num=65;
int num1=90;
int num2=97;
int num3=122;
char ch[] = new char[c.length];
for(int i=0;i<c.length;i++)
{
c[i]=num;
d[i]=num1;
e[i]=num2;
f[i]=num3;
num++;
num1--;
num2++;
num3--;
}
for (int i = 0; i < str.length(); i++)
{
ch[i]=str.charAt(i);//把输入的字母复制给 ch[]数组里
for(int j=0;j<c.length;j++)
{
if(ch[i]==c[j])//如果输入字母等于int [] c里的字母
{
System.out.print((char)d[j]);//强制转换为char类型 打印int [] d里相对应的字母
}
else if(ch[i]==e[j])
{
System.out.print((char)f[j]);
}
}
}
}
}
//刚才的程序不支持小写字母!现在这个我加上去了!
6 楼
sjhlovejava [专家分:1690] 发布于 2007-10-11 23:33:00
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ChangeLetter {
public static void main(String[] args) {
String outputStr = "";
System.out.print("请输入字母:");
//从键盘输入字母
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
//读取行,赋值给inputStr
String inputStr = br.readLine();
for(int i=0;i<inputStr.length();i++){
//将转换后的字符连接成字符串输出
outputStr = outputStr + changeLetter(inputStr.charAt(i));
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(outputStr);
}
public static char changeLetter(char c){
//用于后台打印,知道Unicode码
/*Integer num1 = 'A';
Integer num2 = 'Z';
Integer num3 = 'a';
Integer num4 = 'z';
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);*/
//unicode码
//A值为65
//Z值为90
//a值为97
//b值为122
int letter = c;
char character = 0;
if(c>=65&&c<=90){
//比如输入B,则运算步骤如下:
//90-(66-65)=89,89转换成字符则为Y
//以下小写的同理
character = (char)(90-(letter-65));
}
if(c>=97&&c<=122){
character = (char)(122-(letter-97));
}
return character;
}
}
运行结果:
请输入字母:ABCXYZabcxyz
ZYXCBAzyxcba
7 楼
心若雄鹰 [专家分:0] 发布于 2007-10-12 08:47:00
谢谢各位大哥帮助!!
五楼的那些程序我还是看不懂!!
8 楼
pineappple [专家分:0] 发布于 2007-10-15 19:57:00
import java.io.*;
class Test
{
public static void main(String[] args) throws IOException
{
BufferedReader in =new BufferedReader (new InputStreamReader(System.in));
String s=in.readLine();
char a[]=s.toCharArray();
for(int k=0;k<a.length;k++)
{
if((int)(a[k])>=65&&(int)(a[k])<=90)
{
int x;
x=a[k]-65;
int y=90-x;
System.out.print((char)y);
}
if((int)(a[k])>=97&&(int)(a[k])<=122)
{
int x;
x=a[k]-97;
int y=122-x;
System.out.print((char)y);
}
}
}
}
这个怎么样啊 ,感觉简单点好
我来回复