JAVA学习第四天

来源:互联网 发布:知呱呱 编辑:程序博客网 时间:2024/05/08 21:43

目录

1.数组兔子数
2.数组成绩平均数
3.冒泡法排序
4.九宫格
5.自动排序和复制指定数组
6.求数组中的最大值
7.concat contains copyValueOf的使用
8.字符串是否相等
9.是否为合法的邮箱名
10.10个100以内随机的两位数从小到大排序
11.字符转数组
12.大写变小写小写变大写
13.X乘X矩阵的主对角线乘积和副对角线乘积
14.右边数三位加逗号
15.数组的写法
16.copyValueOf

数组兔子数

package Test;public class Demo兔子数 {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub            int[]  array=new int[10];//          int[]  array={1,2,3,0,0,0,0,0,0,0};//          int[] array=new int[]{1,2,3,0,0,0,0,0,0,0};  三种写法            array[0]=1;            array[1]=2;            array[2]=3;            for(int  i=3;i<array.length;i++){                array[i]=array[i-3]+array[i-1];            }            System.out.println(array[9]);    }}

数组成绩平均数

package Test;import java.util.Scanner;public class Dome数组成绩平均数{    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub      double[]  score=new double[5];      for (int i = 0; i < score.length; i++) {          Scanner  scanner=new Scanner(System.in);          score[i]=scanner.nextDouble();    }      double  s=0;      for (int i = 0; i < score.length; i++) {          s+=score[i];    }      System.out.println("平均数>"+s/score.length);    }}

冒泡法排序

package Test;public class Demo冒泡排序 {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub      int[] score=new int[]{80,72,65,43};      int temp=0;      for (int i = 0; i < score.length-1; i++) {          for (int j = 0; j < score.length-i-1; j++) {              if(score[j]>score[j+1]){                  temp=score[j+1];                  score[j+1]=score[j];                  score[j]=temp;              }        }    }for (int i = 0; i < score.length; i++) {    System.out.println(score[i]);}    }}

九宫格

package Test;public class Demo九宫格 {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        int [][] array=new int[3][];        array[0]=new int[]{4,9,2};        array[1]=new int[]{3,5,7};        array[2]=new int[]{8,1,6};        for (int i = 0; i < array.length; i++) {            int item[]=array[i];            for (int j = 0; j < item.length; j++) {                System.out.print(item[j]+"\t");            }            System.out.println();        }    }}

自动排序和复制指定数组

package com.zhonghang.svn;import java.util.Arrays;public class Test2 {    public static void main(String[] args){        int[] array=new int[]{1,2,4,3,5,7,6,8,9};        Arrays.sort(array);//自动排序        int[] arra={2,3,6,5,4};        int   score[]=new int[5];        //score=Arrays.copyOf(array, 3);//从0-2  包头不包尾        //score=Arrays.copyOfRange(array, 1, 4);//从1-3  不包含4        for (int i = 0; i < array.length; i++) {            System.out.println(array[i]);        }    }}

求数组中的最大值

package com.zhonghang.svn;import java.util.Arrays;public class Test2 {    public static void main(String[] args){        int[] arr=new int[]{64,75,72,36,89};        int max=0;        for (int i = 0; i < arr.length; i++) {            if(arr[i]>max){                max=arr[i];            }        }System.out.println(max);    }}

concat contains copyValueOf的使用

package com.zhonghang.svn;import java.util.Arrays;public class Test2 {    public static void main(String[] args){        String  s="nihao";        String s1="zaoshanghao";        char[]  c={'a','b','v','f'};        //System.out.println(s.concat(s1));//concat   相当于+        //System.out.println(s.contains("ni"));//是否包含字符   ni为true; nh为false       String  s2=String.copyValueOf(c);//复制指定字符       String  s3=String.copyValueOf(c, 0, 2);//复制一段字符   包头不包尾       System.out.println(s3);    }}

这里写图片描述

字符串是否相等

package Test;public class Demo1 {    /**     * @param args     */    public static void main(String[] args) {        // TODO 自动生成的方法存根            String  aa=new  String("abcd");            String  bb=aa;            String  cc=new String("abcd");            String  dd="abcd";            String  ff="abcd";            System.out.println(bb.equals(aa));//true            System.out.println(cc.equals(aa));//true            System.out.println(bb==aa);//true            System.out.println(cc==aa);//地址不一样//false            System.out.println(dd==aa);//aa为新建的  两者地址不一样//false            System.out.println(ff==dd);//建立了一个abcd常量//true    }}

是否为合法的邮箱名

package com.zhonghang.svn;import java.util.Scanner;public class Test1 {    public static void main(String[] args) {        // TODO Auto-generated method stub        while(true){        Scanner scanner = new Scanner(System.in);        String email = scanner.nextLine();        boolean isEmail=false;        if (email.contains("@")) {            if (email.indexOf('@') == email.lastIndexOf('@')) {                String emailStart = email.substring(0, email.indexOf('@'));                boolean isLetterOrNum_Start = isLetterOrNum(emailStart);                if (isLetterOrNum_Start) {                    if (email.endsWith(".com") || email.endsWith(".cn") || email.endsWith(".net")) {                        String emailMiddle=email.substring(email.indexOf('@')+1,email.lastIndexOf('.'));                         isEmail=isLetterOrNum(emailMiddle);                    }                }            }            if(isEmail){                System.out.println("正确的Email");            }else{                System.out.println("错误的Email");            }        }        }    }    public static boolean isLetterOrNum(String s) {        boolean isLetterOrNum_ = false;        for (int i = 0; i < s.length(); i++) {            char c = s.charAt(i);            if (Character.isLetter(c) || Character.isDigit(c) || c == '_') {                isLetterOrNum_ = true;                break;            }        }        return isLetterOrNum_;    }}

10个100以内随机的两位数从小到大排序

package Test;import java.util.Arrays;import java.util.Random;public class Demosuijishucongxiaodaodapialie {    public static void main(String[] args) {        // TODO Auto-generated method stub        int[] arr = new int[10];        for (int i = 0; i < 10; i++) {            Random r = new Random();            int a = r.nextInt(90) + 10;//变换            arr[i] = a;        }        // Arrays.sort(arr);        for (int i = 0; i < arr.length; i++) {            for (int j = 0; j < arr.length - i - 1; j++) {                int temp = 0;                if (arr[j] > arr[j + 1]) {                    temp = arr[j + 1];                    arr[j + 1] = arr[j];                    arr[j] = temp;                }            }        }        for (int i = 0; i < 10; i++) {            System.out.print(arr[i] + " ");        }        System.out.print(Arrays.toString(arr));// 数组的两种输出方法    }}

字符转数组

package Test;public class Demozifuzhuanshuzu {    public static void main(String[] args) {        // TODO Auto-generated method stub        // TODO Auto-generated method stub        String s = new String("abc,dc,fg");        String[] array = s.split(",");//字符串数组        for (int i = 0; i < array.length; i++) {            System.out.println(array[i]);        }        System.out.println(s.substring(2, 6));    }}

大写变小写小写变大写

package Test;public class Demodaxiebianxiaoxiexiaoxiebiandaxie {    public static void main(String[] args) {        // TODO Auto-generated method stub        String s = "acdBDS";        String s2 = " ";        for (int i = 0; i < s.length(); i++) {            char c = s.charAt(i);            if (Character.isLowerCase(c)) {//是否是小写                c = Character.toUpperCase(c);//变为大写            } else {                c = Character.toLowerCase(c);//变为小写            }            // if(c>='a'&&c<='z'){            // c=(char)(c-32);            // }else if(c>='A'&&c<='Z'){            // c=(char)(c+32);            //            // }            s2 = s2.concat(" " + c);        }        System.out.println(s2);    }}

X乘X矩阵的主对角线乘积和副对角线乘积

package com.zhonghang.svn;import java.util.Random;public class Test4 {    public static void main(String[] args) {        // TODO Auto-generated method stub        int indexMax = 4;        int[][] array = new int[indexMax][indexMax];        for (int i = 0; i < indexMax; i++) {            for (int j = 0; j < indexMax; j++) {                Random random = new Random();                array[i][j] = random.nextInt(9) + 1;            }        }        for (int i = 0; i < indexMax; i++) {            for (int j = 0; j < indexMax; j++) {                System.out.print(array[i][j] + "\t");            }            System.out.println();        }        int s1 = 1;        int s2 = 1;        for (int i = 0; i < indexMax; i++) {            s1 = s1 * (array[i][i]);            s2 = s2 * (array[i][indexMax - 1 - i]);        }        System.out.println("主对角线乘积" + s1);        System.out.println("副对角线乘积" + s2);    }}

右边数三位加逗号

package Test;public class Demoyoubiansanweijiadouhao {    public static void main(String[] args) {        // TODO Auto-generated method stub        // TODO Auto-generated method stub        StringBuffer sb = new StringBuffer("78778945641123214");        // for (int i = 3; i < sb.length(); i+=4) {        // sb.insert(i,",");        //        // }        //        // System.out.println(sb);//左边数三个插入一个逗号        for (int i = (sb.length() - 3); i > 0; i -= 3) {            sb.insert(i, ",");        }        System.out.println(sb);// 右边数三位一个逗号    }}

完善的Email1

package Test;import java.util.Scanner;public class DemowanshandeEmail1 {    public static void main(String[] args) {        while (true) {            Scanner scanner = new Scanner(System.in);            String email = scanner.nextLine();            boolean isEmailContain = false;            boolean emailStartisLetterOrNum_1 = false;            boolean emailMiddleisLetterOrNum_1 = false;            if (email.contains(".")) {                if (email.indexOf('.') == email.lastIndexOf('.')) {// 如果一个点                    if (email.contains("@")) {                        if (!(email.contains("@."))) {                            if (email.indexOf('@') == email.lastIndexOf('@')) {                                if (email.endsWith(".com") || email.endsWith(".cn") || email.endsWith(".net")) {                                    isEmailContain = true;                                }                            }                        }                    }                    String emailStart = email.substring(0, email.indexOf('@'));                    char c1 = emailStart.charAt(0);                    if (Character.isLetter(c1)) {                        for (int i = 1; i < emailStart.length(); i++) {                            boolean emailStartisLetterOrNum_ = false;                            char c = emailStart.charAt(i);                            if (Character.isLetter(c) || Character.isDigit(c) || c == '_') {                                emailStartisLetterOrNum_ = true;                                emailStartisLetterOrNum_1 = emailStartisLetterOrNum_;                            } else {                                emailStartisLetterOrNum_ = false;                                emailStartisLetterOrNum_1 = emailStartisLetterOrNum_;                                break;                            }                        }                        String emailMiddle = email.substring(email.indexOf('@') + 1, email.lastIndexOf('.'));                        for (int j = 0; j < emailMiddle.length(); j++) {                            boolean emailMiddleisLetterOrNum_ = false;                            char c2 = emailMiddle.charAt(j);                            if (Character.isLetter(c2) || Character.isDigit(c2) || c2 == '_') {                                emailMiddleisLetterOrNum_ = true;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                            } else {                                emailMiddleisLetterOrNum_ = false;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                break;                            }                        }                    }                    if (emailStartisLetterOrNum_1 && emailMiddleisLetterOrNum_1 && isEmailContain) {                        System.out.println("正确的Email");                    } else {                        System.out.println("错误的Email");                    }                }else {                    // 如果一个点                    if (email.contains("@")) {                        if (!(email.contains("@."))) {                            if (email.indexOf('@') == email.lastIndexOf('@')) {                                if (email.endsWith(".com") || email.endsWith(".cn") || email.endsWith(".net")) {                                    isEmailContain = true;                                }                            }                        }                    }                    String emailStart = email.substring(0, email.indexOf('@'));                    char c1 = emailStart.charAt(0);                    if (Character.isLetter(c1)) {                        for (int i = 1; i < emailStart.length(); i++) {                            boolean emailStartisLetterOrNum_ = false;                            char c = emailStart.charAt(i);                            if (Character.isLetter(c) || Character.isDigit(c) || c == '_') {                                emailStartisLetterOrNum_ = true;                                emailStartisLetterOrNum_1 = emailStartisLetterOrNum_;                            } else {                                emailStartisLetterOrNum_ = false;                                emailStartisLetterOrNum_1 = emailStartisLetterOrNum_;                                break;                            }                        }                        String emailMiddle1 = email.substring(email.indexOf('@') + 1, email.indexOf('.'));                        for (int j = 0; j < emailMiddle1.length(); j++) {                            boolean emailMiddleisLetterOrNum_ = false;                            char c2 = emailMiddle1.charAt(j);                            if (Character.isLetter(c2) || Character.isDigit(c2)||c2=='_' ) {                                emailMiddleisLetterOrNum_ = true;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                            } else {                                emailMiddleisLetterOrNum_ = false;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                break;                            }                        }                        String emailMiddle2 = email.substring(email.indexOf('.') + 1, email.lastIndexOf('.'));                        char c3=emailMiddle2.charAt(0);                        if(Character.isLetter(c3)){                             for (int j = 1; j < emailMiddle2.length(); j++) {                            boolean emailMiddleisLetterOrNum_ = false;                            char c2 = emailMiddle2.charAt(j);                            if (Character.isLetter(c2) ) {                                emailMiddleisLetterOrNum_ = true;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                            } else {                                emailMiddleisLetterOrNum_ = false;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                break;                            }                            }                        }else if ( Character.isDigit(c3)) {                            for (int j = 1; j < emailMiddle2.length(); j++) {                                boolean emailMiddleisLetterOrNum_ = false;                                char c2 = emailMiddle2.charAt(j);                                if (Character.isDigit(c2) ) {                                emailMiddleisLetterOrNum_ = true;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                            } else {                                emailMiddleisLetterOrNum_ = false;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                break;                            }                        }                    }                    if (emailStartisLetterOrNum_1 && emailMiddleisLetterOrNum_1 && isEmailContain) {                        System.out.println("正确的Email");                    } else {                        System.out.println("错误的Email");                    }                }            }        }    }}}

完善的Email2

package Test;import java.util.Scanner;public class DemowanshandeEmail2 {    public static void main(String[] args) {        // TODO Auto-generated method stub        while (true) {            Scanner scanner = new Scanner(System.in);            String email = scanner.nextLine();            boolean isEmailContain = false;            boolean emailStartisLetterOrNum_1 = false;            boolean emailMiddleisLetterOrNum_1 = false;            if (email.contains(".")) {                if (email.contains("@")) {                    if (!(email.contains("@."))) {                        if (email.indexOf('@') == email.lastIndexOf('@')) {                            if (email.endsWith(".com") || email.endsWith(".cn") || email.endsWith(".net")) {                                isEmailContain = true;                            }                        }                    }                }                String emailStart = email.substring(0, email.indexOf('@'));                char c1 = emailStart.charAt(0);                if (Character.isLetter(c1)) {                    for (int i = 1; i < emailStart.length(); i++) {                        boolean emailStartisLetterOrNum_ = false;                        char c = emailStart.charAt(i);                        if (Character.isLetter(c) || Character.isDigit(c) || c == '_') {                            emailStartisLetterOrNum_ = true;                            emailStartisLetterOrNum_1 = emailStartisLetterOrNum_;                        } else {                            emailStartisLetterOrNum_ = false;                            emailStartisLetterOrNum_1 = emailStartisLetterOrNum_;                            break;                        }                    }                    if (email.indexOf('.') == email.lastIndexOf('.')) {                        // 如果一个点                        String emailMiddle = email.substring(email.indexOf('@') + 1, email.lastIndexOf('.'));                        for (int j = 0; j < emailMiddle.length(); j++) {                            boolean emailMiddleisLetterOrNum_ = false;                            char c2 = emailMiddle.charAt(j);                            if (Character.isLetter(c2) || Character.isDigit(c2) || c2 == '_') {                                emailMiddleisLetterOrNum_ = true;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                            } else {                                emailMiddleisLetterOrNum_ = false;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                break;                            }                        }                        if (emailStartisLetterOrNum_1 && emailMiddleisLetterOrNum_1 && isEmailContain) {                            System.out.println("正确的Email");                        } else {                            System.out.println("错误的Email");                        }                    } else {                        // 不是一个'.'的情况下                        String emailMiddle1 = email.substring(email.indexOf('@') + 1, email.indexOf('.'));                        for (int j = 0; j < emailMiddle1.length(); j++) {                            boolean emailMiddleisLetterOrNum_ = false;                            char c2 = emailMiddle1.charAt(j);                            if (Character.isLetter(c2) || Character.isDigit(c2) || c2 == '_') {                                emailMiddleisLetterOrNum_ = true;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                            } else {                                emailMiddleisLetterOrNum_ = false;                                emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                break;                            }                        }                        String emailMiddle2 = email.substring(email.indexOf('.') + 1, email.lastIndexOf('.'));                        char c3 = emailMiddle2.charAt(0);                        if (Character.isLetter(c3)) {                            for (int j = 1; j < emailMiddle2.length(); j++) {                                boolean emailMiddleisLetterOrNum_ = false;                                char c2 = emailMiddle2.charAt(j);                                if (Character.isLetter(c2)) {                                    emailMiddleisLetterOrNum_ = true;                                    emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                } else {                                    emailMiddleisLetterOrNum_ = false;                                    emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                    break;                                }                            }                        } else if (Character.isDigit(c3)) {                            for (int j = 1; j < emailMiddle2.length(); j++) {                                boolean emailMiddleisLetterOrNum_ = false;                                char c2 = emailMiddle2.charAt(j);                                if (Character.isDigit(c2)) {                                    emailMiddleisLetterOrNum_ = true;                                    emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                } else {                                    emailMiddleisLetterOrNum_ = false;                                    emailMiddleisLetterOrNum_1 = emailMiddleisLetterOrNum_;                                    break;                                }                            }                        }                        if (emailStartisLetterOrNum_1 && emailMiddleisLetterOrNum_1 && isEmailContain) {                            System.out.println("正确的Email");                        } else {                            System.out.println("错误的Email");                        }                    }                }            }        }    }}

数组的写法

这里写图片描述

copy

字符串的声明与赋值

  1. String s=new String(“abc”);
    在栈内存中开辟地址指向堆内存,在堆内存存放“abc”。
  2. String s =”abc”;
    先在常量池中找“abc”,若没有则独立开辟内存空间存放“abc”。
  3. s.split(“char”):将字符串按 “char”分割为子字符串,结果作为字符串数组返回
  4. indexOf(“”或者”)该字符在字符串中第一次出现的索引值,若没有出现则返回-1.

    indexOf(”,fromIndex)如果索引值>=fromIndex,则返回索引值;如果

str.trim().length()的使用

package com.donghe.svn;import java.util.Scanner;public class Test {    public static void main(String[] args) {        String  str=" java hello !  ";        System.out.println("字符串原来的长度:"+str.length());//结果为15        System.out.println("字符串去掉空格之后的长度"+str.trim().length());//去掉的是字符串str前导和尾部的空格后    结果为12    }}

copyValueOf的使用

package com.donghe.svn0;import java.util.Arrays;public class Test   {    public static void main(String[] args) {        char[] c=new char[]{'a','b','c','d'};//字符数组        for (int i = 0; i < c.length; i++) {            System.out.print(c[i]);        }System.out.println(Arrays.toString(c));System.out.println(String.valueOf(c));//将字符数组变成字符串System.out.println(String.copyValueOf(c));//返回c中所有元素构成的字符串 ,结果就是产生一个"abcd"字符串        System.out.println(String.copyValueOf(c,2,2));//返回由c中从下标2的元素(就是'c')开始,长度为2的元素构成的字符串,结果就是产生一个"cd"字符串。    }}

copyValueOf 和ValueOf

package com.donghe.svn0;import java.util.Arrays;public class Test   {    public static void main(String[] args) {        char[] c=new char[]{'a','b','c','d'};//字符数组        for (int i = 0; i < c.length; i++) {            System.out.print(c[i]);        }System.out.println(Arrays.toString(c));System.out.println(String.valueOf(c));//将字符数组变成字符串System.out.println(String.copyValueOf(c));//返回c字符数组中所有元素构成的字符串 ,结果就是产生一个"abcd"字符串   已经与valueOf基本上没有区别了        System.out.println(String.copyValueOf(c,2,2));//返回由c中从下标2的元素(就是'c')开始,长度为2的元素构成的字符串,结果就是产生一个"cd"字符串。    }}

str.lastIndexOf(“”)

package com.donghe.svn;import java.util.Scanner;public class Test {    public static void main(String[] args) {        String str="we are students";        System.out.println(str.lastIndexOf(""));//空字符串注意没有空格        从0开始   其返回结果与调用该字符串length()的返回结果相同        System.out.println(str.length());    }}
0 0