zoukankan      html  css  js  c++  java
  • BigData03_04 equals()源码分析和String类的方法

    1.equals语句内部的源代码实现方法

     

     

    2.数组

     检查数组中是否含有重复元素
     
     1 package test;
     2 
     3 public class Student {
     4     String name;
     5     int age;
     6 
     7     
     8     public Student() {
     9         super();
    10         // TODO Auto-generated constructor stub
    11     }
    12 
    13     public String getName() {
    14         return name;
    15     }
    16 
    17     public void setName(String name) {
    18         this.name = name;
    19     }
    20 
    21     public int getAge() {
    22         return age;
    23     }
    24 
    25     public void setAge(int age) {
    26         this.age = age;
    27     }
    28 
    29     @Override
    30     public String toString() {
    31         return "Student [name=" + name + ", age=" + age + "]";
    32     }
    33     
    34     
    35     
    36 }
    学生类
     1 import java.util.Scanner;
     2 
     3 /*
     4  * 有学生类定义如下:
     5     成员变量:name,age
     6     从键盘录入3个学生的信息,并保存在数组中,再编写方法输出数组中的学生详细信息.
     7  */
     8 public class Test3 {
     9     public static void main(String[] args){
    10         Student[] stuArray = new Student[3];
    11         Scanner sc = new Scanner(System.in);
    12         for (int i = 0; i < stuArray.length; i++) {
    13             Student s = new Student();
    14             System.out.println("请输入第"+(i+1)+"个学生的姓名:");
    15             s.setName(sc.next());
    16             System.out.println("请输入第"+(i+1)+"个学生的年龄:");
    17             s.setAge(sc.nextInt());
    18             //让学生加入到数组
    19             stuArray[i] = s;
    20         }
    21         
    22         for (int i = 0; i < stuArray.length; i++) {
    23             System.out.println("第"+(i+1)+"个学生的信息是:");
    24             System.out.println(stuArray[i]);//如果没有重写toString方法,这里打印的是类名+ @ + 十六进制字符串
    25         }
    26         
    27     }
    28 }
    学生类 的信息输入和打印
    /*
     * 编写方法实现判断一个int数组中是否包含重复值.并测试
     * 
     * 分析:
     *     第一轮:确定的是第一个位置上的元素是否唯一.
     *     第二轮:确定第二个位置上的元素是否唯一.
     *  ...
     *  总的轮数:数组元素个数 - 1
     *  每轮:
     *      拿一个位置上的元素依次和它后面的所有元素进行比较
     *      每轮比较的次数依次减少
     * 
     */
    public class Test1 {
    
        public static void main(String[] args) {
            int[] arr = {1,2,3,4,5,3};
            int[] arr2 = {1,2,3,4,5,6};
            
            System.out.println(check(arr));
            System.out.println(check(arr2));
    
        }
    
        private static boolean check(int[] arr) {
            for(int i = 0;i<arr.length - 1;i++){//轮数
                for(int j = i + 1;j<arr.length;j++){//循环此位置后面的所有元素
                    if(arr[i] == arr[j]){
                        return true;
                    }
                }
            }
            return false;
        }
    
    }
    
    

    3..String类的方法

    (1)


    判断一个长字符串中是否含有相同单词

     1 package test_string;
     2 /*
     3  * 判断一个长字符串中是否含有相同单词
     4  */
     5 public class StringDemo11 {
     6     public static void main(String[] args) {
     7         String s = "Hello word hello China hello ";
    ////根据给定正则表达式的匹配拆分此字符串
    8 String[] st = s.split(" "); 9 10 boolean res = pan(st); 11 System.out.println(res); 12 13 } 14 //自定义方法检查是否包含重复元素 15 private static boolean pan(String [] st) { 16 17 for (int i = 0; i < st.length-1; i++) { 18 for (int j = i+1; j < st.length; j++) { 19 if (st[i].equals(st[j])) { 20 return true; 21 } 22 } 23 } 24 25 return false; 26 } 27 28 }

    2.

     

     

     

     

  • 相关阅读:
    【C++】<bits/stdc++.h>
    【网易】被3整除
    【TCP/IP详解】UDP:用户数据报协议
    【网易】牛牛找工作
    【C++】<numeric>中iota函数:递增序列填充

    今天好像找到C语言延迟输出的原因了
    C语言第2
    c语言新知
    glade No package 'libxml-2.0' found
  • 原文地址:https://www.cnblogs.com/star521/p/8387844.html
Copyright © 2011-2022 走看看