回 帖 发 新 帖 刷新版面

主题:求解次题

[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个回复)

沙发

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里相对应的字母 
               }
           }       
       }
    }   
}

板凳

哥们,看一下吧!
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 楼

2楼的哥们,你输入ABCDEFG看看!

4 楼

你在输入小写的abc看看

5 楼

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 楼

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 楼

谢谢各位大哥帮助!!
五楼的那些程序我还是看不懂!!

8 楼

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

}
这个怎么样啊 ,感觉简单点好

我来回复

您尚未登录,请登录后再回复。点此登录或注册