头歌(educoder)第 6 章 Java面向对象之常用类

发布时间 2023-10-04 14:17:25作者: 夏日清`凉

头歌(educoder)第 6 章 Java面向对象之常用类

目录

Java面向对象 - 常用类(初级)

Java面向对象 - String类

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;
    }
}