栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

字符串类及其应用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字符串类及其应用

任务1.  学习String类的常用方法

编写程序。要求从键盘输入一个字符串,输出该字符串的长度、第一个字符、最后一个字符、转换成大写字母输出。

【代码实现】

package homework;
import java.util.Scanner;
public class test_6_1 {
    public static void main(String[] args) {
        try (Scanner input = new Scanner(System.in)) {
			//提示用户输入一个字符串
			System.out.print("请输入一个小写字符串:");
			String str = input.next();
			//显示该字符串的长度和第一个字符
			int length = str.length();
			System.out.println("该字符串的长度为:"+ length);
			char str1 = str.charAt(0);
			System.out.println("该字符串的第一个字符为:"+str1);
			char str2 = str.charAt(str.length()-1);
			System.out.println("该字符串的最后一个字符为:"+str2);
			String str3=str.toUpperCase();
			System.out.println("该字符串的最后一字符转换为大写输出:"+str3);
		}
    }
}

【运行结果】

请输入一个小写字符串:abv
该字符串的长度为:3
该字符串的第一个字符为:a
该字符串的最后一个字符为:v
该字符串的最后一字符转换为大写输出:ABV

任务2.  十进制正整数转换成二进制字符串

编写一个方法,将十进制数转换为二进制数的字符串,方法签名如下:

 public static String toBinary(int value)

[代码实现]

package homework;
import java.util.Scanner;
public class test_6_2 {
	public static void main(String[] args) {
		try (Scanner sc = new Scanner(System.in)) {
			System.out.println("请输入一个十进制数:");
			int number=sc.nextInt();
			System.out.println("该数的二进制数值为:");
			int sum;
			String result="";
			for (int i=number; i>=1; i=i/2) {
			if (i % 2 == 0) {
				sum=0;
				} 
			else {
				sum=1;
				}
			result=sum+result;
			}
			char[] charArray=result.toCharArray();
			System.out.print(charArray);
		}
	}
}

【运行结果】

请输入一个十进制数:
10
该数的二进制数值为:
1010

写入方法如下代码:

【代码实现】

package homework;
import java.util.Scanner;
public class test_6_2_1 {
	public static void main(String[] args){
		String str;
		try (Scanner in = new Scanner(System.in)) {
			System.out.println("请输入一个十进制数:");
			int value = in.nextInt();
			str = toBinary(value);
		}
		System.out.println("十进制数转换成二进制字符串为:"+str);
	}
	public static String toBinary(int value){
		String s = Integer.toBinaryString(value);	
		return s;
	}				
}

【运行结果】

请输入一个十进制数:
10
十进制数转换成二进制字符串为:1010

任务3.  学习格式化输出字符串

编写程序,从键盘输入圆的半径10,计算圆的面积并使用格式化输出的方式输出圆的面积,要求保留两位小数。输出结果如下:

半径为10的圆的面积是314.46

【代码实现】

package homework;
import java.util.Scanner;
public class test_6_3 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入半径:");
		try (Scanner sc = new Scanner(System.in)) {
			int r = sc.nextInt();
			double pi=3.1415926;
			double area=0,girth=0;  
			area = r*r*pi;//面积
			girth = pi*r*2;//周长
			System.out.println("半径为:"+r+"圆的面积为:"+String.format("%.2f", area));
			System.out.println("半径为:"+r+"圆的周长为:"+String.format("%.2f", girth));
		}	
	}
}

【运行结果】

请输入半径:
10
半径为:10圆的面积为:314.16
半径为:10圆的周长为:62.83

任务4.  字符串加密解密

(1)编写程序,实现简单的加密功能:从键盘上输入一个英文字符串(明文),程序运行将该字符串加密后输出(密文)。加密规则为,字符串中的每个字母都用它后面的第5个字母代替,其他字符不变,如A用F代替,a用f代替,对字母表后面的字母,如V用A代替、Z用E代替。

(2)编写解密程序,从键盘输入密文字符串,程序打印输出解密后的明文字符串。

加密:

【代码实现】

package homework;
import java.util.Scanner;
public class test_6_4_2 {

	private static Scanner sc;

	public static void main(String[] args) 		
    {
		System.out.println("请输入需要加密的文字:");
		sc = new Scanner(System.in);
		String str=sc.nextLine();
		StringBuffer jiami=new StringBuffer();
		//遍历每一个字符
		for(int i=0;i='a'&&str.charAt(i)<='z')
			   {
				  jiami.append((char)('a'+(str.charAt(i)-'a'+5)%26));//小写字母用其后的第五个字母代替,字母个数一共为26个,对26取余进行循环
			   }
			   else if(str.charAt(i)>='A'&&str.charAt(i)<='Z')
			   {
				  jiami.append((char)('A'+(str.charAt(i)-'A'+5)%26));//大写字母用其后的第五个字母代替
			   }
			}
			else
			{
				jiami.append(str.charAt(i));//若不是英文字直接放入StringBuffer中,保持不变
			}
		}
		System.out.println("加密后的文字为:");
		System.out.println(jiami);
	}
}

【运行结果】

请输入需要加密的文字:
ABCDEFGEHIabcdefghi123456..
加密后的文字为:
FGHIJKLJMNfghijklmn123456..

解密:

【代码实现】

package homework;
import java.util.Scanner;
public class test_6_4_2_1 {

	private static Scanner cs;

	public static void main(String[] args) 		
    {
		System.out.println("请输入需要解密的文字:");
		cs = new Scanner(System.in);
		String st=cs.nextLine();
		StringBuffer jiemi=new StringBuffer();
		//遍历每一个字符
		for(int i=0;i='a'&&st.charAt(i)<='e')
			   {
				   jiemi.append((char)('v'+(st.charAt(i)+5)%6));
			   }
			   else if(st.charAt(i)>='f'&&st.charAt(i)<='z')
			   {
				   jiemi.append((char)('a'+(st.charAt(i)-2)%20));
			   }
			   else if(st.charAt(i)>='A'&&st.charAt(i)<='E')
			   {
				   jiemi.append((char)('V'+(st.charAt(i)+1)%6));
			   }
			   else if(st.charAt(i)>='F'&&st.charAt(i)<='Z')
			   {
				   jiemi.append((char)('A'+(st.charAt(i)-10)%20));
			   }
			}
			else
			{
					jiemi.append(st.charAt(i));//若不是英文字直接放入StringBuffer中,保持不变
			}
		}
		System.out.println("解密后的文字为:");
		System.out.println(jiemi);
	}
}

【运行结果】

请输入需要解密的文字:
FGHIJKLJMNfghijklmn123456..
解密后的文字为:
ABCDEFGEHIabcdefghi123456..

任务5.  学习命令行参数的使用

输入下面程序,然后从命令行执行该程序。

public class CommandLineDemo{

  public static void main(String [] args){

     System.out.println("The command line has "+

args.length + " arguments");

for(int i =0;i < args.length ;i ++){

System.out.println("argument number "+ i +

":"+ args[i]);

}

}

}

若使用下列命令执行程序,程序输出结果如何?

java CommandLineDemo  /D  1024  /f  test.dat

【代码实现】

package homework;
public class test_6_5 {
	  public static void main(String [] args){
	     System.out.println("The command line has "+
	  args.length + " arguments");
	     for(int i =0;i < args.length ;i ++){
	    	 System.out.println("argument number "+ i + 
	    			 ":"+ args[i]);
	    	 }
	     }
	  }

【运行结果】

he command line has 0 arguments

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/390070.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号