字符串及课堂例子整理

编程思路:通过参数传入要加密的字符。凯撒密码器只是通过移动的位数,这里不妨通过命令行参数传入。由于移动的位数为整数,因此使用Integer.parseInt( )方法进行了转换。由于字母表中共26个字符,所以移位前先将移动的位数(key)和26取模。由于Java中字符和整型可自动转换,因此将字符加上一个正整数即代表在字母表中右移多少位。如果移动的位数是负值,则代表在字母表中左移多少位。就得出来了。

编程流程图

加密方法:

实验代码:

import java.util.Scanner;
public class G {

public static void main(String[] args) {
// TODO 自动生成的方法存根
        Scanner input = new Scanner(System.in);
        String q=new String();
        System.out.println("请输入一个字符串:");//字符串的输入
        q=input.nextLine();
        char []a=q.toCharArray();
         System.out.println("请问需要加密还是解密?(加密输入1,解密输入0)");//需要解密或者是加密
   int qq = input.nextInt();
if(qq==1)//加密
    {
          for(int i=0;i<q.length();i++)//从第一个字符开始操作
        {
    a[i]=(char)(a[i]+3);//每一个字符加三
   if((a[i]>‘Z‘&&a[i]<‘a‘)||a[i]>‘z‘)
{
       a[i]=(char)(a[i]-26);//当字符位于Z和a之间或者大于z时字符减26
}

}
String q1=new String(a);
System.out.println("加密后的字符串为:"+q1);//输出加密后的字符串
}
if(qq==0)//解密
{
for(int i=0;i<q.length();i++)//从第一个字符开始操作
{
a[i]=(char)(a[i]-3);//每一个字符加三
if((a[i]>‘Z‘&&a[i]<‘a‘)||a[i]<‘A‘)
{
a[i]=(char)(a[i]+26);//当字符位于Z和a之间或者小于A时字符加26
}
}
String q1=new String(a);
System.out.println("解密后的字符串为:"+q1);//输出加密后的字符串
}
}

}

  实验截图:

string类函数使用说明:

    1.   String.equals():判断两个字符对象的内容是否相等;

2.   length():求字符或字符串的长度。字符串长度用length();数组可以用length;

3.   charAt():得到字符串中某个位置的字符值。索引范围是从0到length() - 1;

4.   getChars():把某位置开始的子串复制到某个数组中;

5.   replace():子串替换用法就是将字符串中的某子串替换为另一个子串;

6.   toUpperCase():小写转换为大写 ;()内可以是String char类型的变量名也可以是“字符串”。

7.   toLowerCase():大写转换为小写; ()内可以是String char类型的变量名也可以是“字符串”。

8.   trim():消除首尾空格;

9.   toCharArray():将字符对象转化为char数组;

时间: 2024-10-07 06:32:46

字符串及课堂例子整理的相关文章

接口与继承课堂例子整理

public class ke { /** * @param args */ public static void main(String[] args) { System.out.println(new A()); } } class A{} [email protected]类的主类

Java类与对象——几个课堂例子的总结及作业

作业:使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”. 源代码: 1 import java.util.Scanner; 2 3 class sss123 { 4 //将用来计次的变量times给初始值为0 5 public static int times=0; 6 sss123() { 7 //构造函数,每创建一个实例times就增加1 8 times=times+1; 9 } 10 } 11 12 publi

04课堂问题整理

04课堂问题整理 1.请依据代码的输出结果,自行总结Java字段初始化的规律. public class InitializeBlockDemo { public static void main(String[] args) { InitializeBlockClass obj=new InitializeBlockClass(); System.out.println(obj.field); obj=new InitializeBlockClass(300); System.out.prin

gets()、puts()函数。字符串函数。字符串排序的例子。

1.实例程序:string.c的程序: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include<stdio.h> #define MSG "YOU MUST have many talents .tell me some." #define LIM 5 #define LINELEN 81 int main() { char name[LINELEN]; char

android开发最常用例子整理----(1)自定义按钮实现

android开发最常用例子整理----(1)自定义按钮实现 一.Activity MainActivity.java源码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }

关于DELPHI数组,指针,字符串转换的例子!(转)

var   aa:   array [0..5] of Char;   bb:Pointer;   cc:string;   dd:PChar; procedure TForm1.Button1Click(Sender: TObject);begin dd:='abcdef'; //以下是pchar内容转数组FillChar(aa,length(dd),#0);Move(dd^,aa,SizeOf(aa)); //以下是数组传递到指针bb:=GetMemory(SizeOf(aa));Move(

android开发最常用例子整理----(2)自定义ListView(SimpleAdapter实现)

android开发最常用例子整理----(2)自定义ListView(SimpleAdapter实现) 一.Activity MainActivity.java源码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layou

DELPHI数组,指针,字符串转换的例子

关于数组,指针,字符串转换的例子 var   aa:   array [0..5] of Char;   bb:Pointer;   cc:string;   dd:PChar; procedure TForm1.Button1Click(Sender: TObject);begindd:='abcdef'; //以下是pchar内容转数组FillChar(aa,length(dd),#0);Move(dd^,aa,SizeOf(aa)); //以下是数组传递到指针bb:=GetMemory(S

6动手动脑和课堂例子

1.动手动脑:继承条件下的构造方法调用(TestInherits.java) 1)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句) ,super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参).super()从子类中调用父类的构造方法.调用super()必须写在子类构造方法的第一行,否则编译不通过.每个子类构造方法的第一条语句,都是隐含地调用s