实验七 常用类的使用

实验目的

1. 了解类库的概念及API的使用方法。

2. 掌握常用类的使用方法。

实验学时 2学时

实验内容

1. 输入两个字符串str1、str2,统计字符串str2出现在str1中的次数。

如:str1=”aaas lkaaas” ,str2=” as” ,则应输出 2

提示:文本输入

import java.util.Scanner;

public class test {

public static void main(String[] args) {

 Scanner sc=new Scanner(System.in); //定义扫描键盘输入的对象

             String s = sc.nextLine();     //从键盘读入一行文本

...          

              sc.close();

}

package 实验七;
import java.util.Scanner;
public class 实验七1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input=new Scanner(System.in);
		int sum=0;
		System.out.println("请输入第一个字符串:");//输入第一个字符串
		String str1=input.nextLine();
		System.out.println("请输入第二个字符串:");//输入第二个人字符串
		String str2=input.nextLine();
		int a=str1.indexOf(str2);//查找str2在str1中第一次出现的位置
		while(a!=-1) {
			sum++;//统计次数
			a=str1.indexOf(str2,a+1);//查找str2在str1重复出现的次数
			}
		System.out.println("第二个字符串在第一个字符串中出现了"+sum+"次!");
	}
}

2. 从键盘输入一串字符,输出有多少个不同的字符、每个字符出现的次数。

package 实验七;
import java.util.Scanner;
public class 实验七2 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
			System.out.println("输入一行字符串!");
			Scanner input =new Scanner(System.in);
			String str=input.nextLine();
			StringBuffer k=new StringBuffer(str);//插入字符串缓冲区StringBuffer
			int length=k.length();//字符总数
			System.out.println("共有"+length+"个字母!");
			String a;//声明单个字符
			int index,sum;
			for(int i=0;i<k.length();) {
				sum=0;
				a=k.substring(0,1);//截取单个字符
				index=k.indexOf(a);//搜索单个字符在整个字符中出现的位置
				while(index!=-1) {
					sum++;
					k.deleteCharAt(index);//删除字符
					index=k.indexOf(a,index);//统计次数
				}
				System.out.println(a+"字母有"+sum+"个");
			}


	}

}

3. 编写一个 Java 程序,将用户输入的句子当中每一个单词的第一个字母大写。

package 实验七;
import java.util.Scanner;
public class 实验七3 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入一个句子:");
		Scanner input =new Scanner(System.in);
		String str=input.nextLine();//输入想要输入的句子
		String str1=" ";//最后的输出
		String[]a=str.split(" ");//将句子按照空格进行分割
		for(int i=0;i<a.length;i++) {//遍历字符串,将每个字符串数组中的每个单词首字母替换为大写
			a[i]=a[i].replace(a[i].charAt(0),a[i].toUpperCase().charAt(0));
			str1+=a[i]+" ";//将替换后的字符串拼接到空串的后面
		}
		System.out.println("修改后的句子为:"+str1.trim());
	}

}

4. 输入一个八进制数字串(在整型数据范围内),分别以2进制、10进制、16进制输出。

提示:Integer.parseInt("100",8); //8进制100转换成十进制数

          Integer.toBinaryString(100); //将十进制整数100转换成二进制数

package 实验七;
import java.util.Scanner;
public class 实验七4 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input=new Scanner(System.in);
	System.out.println("输入一个八进制数字串(在整型数据范围内):");
	String a=input.nextLine();  //输入原字符串
	int b=Integer.parseInt(a);  //原字符串转换为数字
	System.out.println("2进制为:"+Integer.toBinaryString(b));  //将b转换为2进制数
	System.out.println("10进制为:"+Integer.parseInt(a,8));  //将b转换为10进制数
	System.out.println("16进制为:"+Integer.toHexString(b));  //将b转换为16进制数
	     }
}

5. 编写一段可生成一个随机字母的程序

package 实验七;
import java.util.Arrays;
public class 实验七5 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("生成一个随机字母为:");
		char a[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
				'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
		  //建立一个包含26个大小写字母的数组
		char ch[]=new char[1]; {  //一个字母
		for(int i=0;i<1;i++)
		{
		int b;
		b=(int)(Math.random()*(a.length));  //生成一个随机数
		ch[i]=a[b];  //根据位置找到相应字母
		}
		System.out.println(Arrays.toString(ch));  //数字类型转换为字符串
		}
	}
}

6. 编程求100天以后是几月几号星期几。

package 实验七;
import java.time.LocalDate;
public class 实验七6 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String[] weekday = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};  //建立星期数组
		LocalDate today = LocalDate.now();  //获取当前时间
		System.out.println("今天是:" + today + "," + weekday[today.getDayOfWeek().getValue()-1]);  //输出今天的格式化时间
		LocalDate hundredDayLater = LocalDate.now().plusDays(100);  //获取100天后的时间
		System.out.println("100天后是:" + hundredDayLater + "," + weekday[hundredDayLater.getDayOfWeek().getValue()-1]);  //输出100天后的格式化时间
	}
	}
代码结果:
今天是:2022-05-23,星期一
100天后是:2022-08-31,星期三

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白茶..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值