实验目的
1. 了解类库的概念及API的使用方法。
2. 掌握常用类的使用方法。
实验内容
1.题目1
(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 one;
import java.util.Scanner;//运用scanner方法,用来从控制台写入数据
public class onetest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//键盘输入数据
int sum=0;//初始数为0,用来统计字符串str2出现在str1中的次数
System.out.println("请输入第一串字符串:");
String str1=sc.nextLine();//输入第一串字符
System.out.println("请输入第二串字符串:");
String str2=sc.nextLine();//输入第二串字符
int a=str1.indexOf(str2);//判断str1中是否含有str2,如果没有则返回-1
while(a!=-1){//while语句来判断str2在str1中出现的次数
sum++;//次数+1
a=str1.indexOf(str2,a+1);//如果str1中还含有str2,则+1
}
System.out.println("字符串str2出现在str1中的次数为:"+sum+"次。");
}
}
(3)运行结果
2.题目2
(1)题目
从键盘输入一串字符,输出有多少个不同的字符、每个字符出现的次数。
(2)代码
package two;
import java.util.Scanner;//运用scanner方法,用来从控制台写入数据
public class twotest{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//键盘输入数据
System.out.println("请输入字符串:");
String str = sc.nextLine();//键盘输入字符串
StringBuffer s = new StringBuffer(str);//将String类转化为StringBuffer类
String str1;//定义一个字符串str1
int sum,i;//定义一个整型sum来记录数据,i用来索引字符
int m = 0;
for(int j=0 ;j<s.length();) {//对字符串循环
sum = 0;
str1 = s.substring(0, 1);//截取一个字符
i = s.indexOf(str1);//对这个字符索引
m++;
while(i != -1) {
sum++;//如果字符在出现次数+1
s.deleteCharAt(i);//删除字符
i = s.indexOf(str1,i);//统计次数
}
System.out.println("字符:"+str1+":"+sum);
}
System.out.println("字符种类总个数为:"+m+"个");
sc.close();//关闭方法
}
}
(3)运行结果
3.题目3
(1)题目
编写一个 Java 程序,将用户输入的句子当中每一个单词的第一个字母大写。
(2)代码
package three;
import java.util.Scanner;//运用scanner方法,用来从控制台写入数据
public class threetest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//定义扫描键盘输入的对象
System.out.println("请输入一个句子");
String s1 = sc.nextLine();//从键盘输入一个句子
String[] str1=s1.split(" ");//用空格来分割字符串,用字符数组接收
for(int i=0;i<str1.length;i++) {//for循环,遍历数组
String[] str2=new String[str1.length];//创建一个新的字符数组接收改变后的数组
str2[i]=str1[i].substring(0,1).toUpperCase()+ str1[i].substring(1);// 第一个字母转化为大写,第一个字母后面的字符不变
System.out.print(str2[i]+" ");//输出结果
}
}
}
(3)运行结果
4.题目4
(1)题目
输入一个八进制数字串(在整型数据范围内),分别以2进制、10进制、16进制输出。
提示:Integer.parseInt("100",8); //将8进制100转换成十进制数
Integer.toBinaryString(100); //将十进制整数100转换成二进制数
(2)代码
package four;
import java.util.Scanner;//运用scanner方法,用来从控制台写入数据
public class fourtest {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);//定义扫描键盘输入的对象
System.out.println("输入一个八进制数字串:");
String a=in.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进制数
}
}
(3)运行结果
5.题目5
(1)题目
编程输出一个随机字母。
(2)代码
package five;
public class fivetest {
public static void main(String[] args) {
//A的ASCII码是65,a的ASCII码是97
int i = (int) (Math.random() * 2 + 1);//生成1-2的随机数,并转换为整型
int j;//定义一个整型j,用来输出大小写字母
if (i == 1) {//如果i为1
j = (int) (Math.random() * 26 + 65);//j为随机大写字母的ascii码
} else {//否则
j = (int) (Math.random() * 26 + 97);//j为随机小写字母的ascii码
}
System.out.println((char) (j));//输出j的字符形式
}
}
(3)运行结果
6.题目6
(1)题目
编程输出100天以后的日期和星期。
(2)代码
package six;
import java.text.SimpleDateFormat;//用于以区域设置敏感的方式格式化和解析日期
import java.util.Calendar;//操作日历字段,与特定瞬间之间的转换提供了方法
import java.util.Date;//引用时间日期
public class sixtest {
public static void main(String[] args) {
Date currentDate = new Date();//获取当前日期
System.out.println("当前日期为:" + currentDate);
Calendar calendar = Calendar.getInstance();//创建Calendar对象并设置日期为当前日期
calendar.setTime(currentDate);
calendar.add(Calendar.DAY_OF_YEAR, 100);//在现在的日期上加上100天
Date futureDate = calendar.getTime();//获取100天后的日期并输出
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日");//获取100天后的日期并输出
System.out.println("100天后的日期:" + dateFormat.format(futureDate));
SimpleDateFormat weekFormat = new SimpleDateFormat("E");//获取100天后的星期并输出
System.out.println("100天后是星期:" + weekFormat.format(futureDate));
}
}
(3)运行结果
实验小结
1. 了解了类库的概念及API的使用方法。
2. 掌握了常用类的使用方法。