头歌(educoder)第 6 章 Java面向对象之常用类
头歌(educoder)第 6 章 Java面向对象之常用类
目录
Java面向对象 - 常用类(初级)
第1关 String类
package step1;
import java.util.Scanner;
public class StringLearning {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String stringExample = scanner.next();
String endStr = " end";
// ---------------------Begin------------------------
System.out.println("原字符串为:"+stringExample);
System.out.println("字符串长度为:"+stringExample.length());
System.out.println("转换成大写字符串:"+stringExample.toUpperCase());
System.out.println("转换成小写字符串:"+stringExample.toLowerCase());
System.out.println("第3-7的字符串内容为:"+stringExample.substring(3,7));
System.out.println("字符串相加后:"+stringExample.concat(endStr));
// ---------------------End------------------------
}
}
第2关:StringBuffer类
package step2;
import java.util.Scanner;
public class StringBufferLearning {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String stringExample = scanner.next();
// ---------------------Begin------------------------
StringBuffer sb = new StringBuffer(stringExample);
System.out.println("添加数据后:"+sb.append("educode"));
System.out.println("删除5-8的字符串后:"+sb.delete(5,8));
System.out.println("替换7-13的字符串后:"+sb.replace(7,13,"world"));
System.out.println("截取1-10的字符串为:"+sb.substring(1,10));
System.out.println("反转后的字符串为:"+sb.reverse());
// ---------------------End------------------------
}
}
第3关:Math类
package step3;
import java.util.Scanner;
public class MathClass {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int value1 = scanner.nextInt();
int value2 = scanner.nextInt();
// ---------------------Begin------------------------
/**
1.求出变量value1的绝对值
2.求出value1的3次幂
3.求出value1的二次方根
4.求出value1的sin值
5.求出value1与value2中的较大者
* */
//
System.out.println("value1=" + value1+", value2=" + value2 );
System.out.println("value1的绝对值为:"+Math.abs(value1));
System.out.println("value1的3次幂为:"+String.format("%.6f", Math.pow(value1,3)));
System.out.println("value1的2次方根为:"+String.format("%.6f", Math.sqrt(value1)));
System.out.println("value1的sin值为:"+String.format("%.6f",Math.sin(value1)));
System.out.println("value1与value2中的较大者为:"+Math.max(value1,value2));
// ---------------------End------------------------
}
}
第4关 Random类
package step4;
import java.util.Random;
public class RandomClass {
public static void main(String[] args) {
// ---------------------Begin------------------------
Random r1 = new Random(2022);
for(int i = 0; i < 5;i++) {
System.out.println(r1.nextInt());
}
for(int i = 0; i<5;i++) {
System.out.println(r1.nextDouble());
}
// ---------------------End------------------------
}
}
第5关:知识回顾
-
1、String s = new String(“abcd”);创建了几个StringObject?
-
2、求a的b次方,其表达式为:Math.pow(a,b)
-
3、String类型变量所指向内存空间中的内容是不能被改变的 (不考虑反射)
-
4、StringBuilder类是StringBuffer类的替代类,两者的共同点是都是可变长度字符串,其中线程安全的类是▁▁▁
填空1答案:
Java面向对象 - String类
第1关 length()方法与compareTo()方法的使用 - 花名册
package step1;
import java.util.Scanner;
public class Roster {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
/********** Begin *********/
String a = scanner.nextLine();
String roster1 = new String(a);
String b = scanner.nextLine();
String roster2 = new String(b);
System.out.println(roster1.length());
System.out.println(roster2.length());
if(roster1.compareTo(roster2) == 0) {
System.out.println("相同");
}else {
System.out.println("不相同");
}
/********** End *********/
}
}
第2关 substring()方法与indexOf()方法的使用 - 姓名查找
package step2;
import java.util.Scanner;
public class NameSearch {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
/********** Begin *********/
String data=scanner.next();
String name=scanner.next();
int i = 0;
do {
// 打印name 在indexOf的索引
System.out.println(data.indexOf(name,i));
// i =
// i 从该次的下一次开始寻找
i = data.indexOf(name,i) + name.length();
}while(data.indexOf(name,i) != -1); // 直到找不到为止
/********** End *********/
}
}
第3关 String串类操作 - 文件名与邮箱验证
package step3;
public class HelloWorld {
public void judge(String fileName,String email){
//请在此添加实现代码
/********** Begin **********/
int a1 = fileName.indexOf(".java");
int a2 = fileName.lastIndexOf(".java");
if(a1 != 0 && a1 != -1 && a2 == fileName.length()-5){
// 判断字符串是否在第一位
// 判断是否有该字符串
// 判断是否在最后一位
System.out.println("Java文件名正确");
}else {
System.out.println("Java文件名无效");
}
int a3 = email.indexOf("@");
int a4 = email.lastIndexOf("@");
int a5 = email.lastIndexOf(".");
// a3 == a4 最后一个@和第一个@索引相等
if(a3 != -1 && a5>a3 && a3 == a4) {
System.out.println("邮箱名正确");
}else {
System.out.println("邮箱名无效");
}
/********** End **********/
}
}
第4关 StringBuffer类的定义和使用 - 字母反转
package step4;
public class Reverse {
public static StringBuffer start(String data) {
StringBuffer ans = new StringBuffer();
/********** Begin *********/
// 分割
String[] names = data.split(" ");
for(int i = 0; i < names.length;i++) {
// 创建StringBuffer
StringBuffer stringbuffer = new StringBuffer(names[i]);
stringbuffer.reverse();
//
ans.append(stringbuffer+" ");
}
/********** End *********/
return ans;
}
}