来京学习第四天

时间:2022-07-07 20:55:13

数组、String、对象

目录

数组计算小兔
数组在内存中的处理
一维数组计算平均分
排序
Email地址有效性判断
二维数组练习
数字前面加逗号,每3位加1个
随机数练习


数组计算小兔

        int[] arr=new int[20];
arr[0]=1;
arr[1]=2;
arr[2]=3;

for (int i = 3; i < arr.length; i++) {
arr[i]=arr[i-1]+arr[i-3];
System.out.println("第"+(i+1)+"个月兔子数:"+arr[i]);
}


一维数组计算平均分

        float[] scores=new float[3];
float sum=0.0f;

for (int i = 0; i < scores.length; i++) {
Scanner scan=new Scanner(System.in);
scores[i]=scan.nextFloat();
sum+=scores[i];
}
System.out.println(sum/scores.length);

        ////////////冒泡排序///////////////////////////
int[] arr=new int[]{100,80,8,1};
int temp;
for (int i = 1; i < arr.length; i++) {
for(int j=0;j<arr.length-i;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}

}
for(int e:arr){
System.out.println(e+"\t");
}

数组在内存中的处理

import java.util.Arrays;

public class TestArray {
public static void main(String[] args) {
/*
int[] arr=new int[]{100,50,40,20};
int[] arr2;
//arr2=Arrays.copyOf(arr,3);
arr2=Arrays.copyOfRange(arr,1, 5);
for(int e:arr2){
System.out.println(e+"\t");
}
*/

int[][] arr=new int[][]{{1,2},{4,5,6},{7,8,9,10}};
// int[][] arr=new int[3][];
// arr[0]=new int[]{1,2,3};
// arr[1]=new int[]{4,5,6};
// arr[2]=new int[]{7,8,9};
/*
for (int i = 0; i < arr.length; i++) {
int[] tmp=arr[i];
for (int j = 0; j < tmp.length; j++) {
System.out.print(tmp[j]+"\t");
}
System.out.println();
}
*/

for(int[] tmp:arr){
int n=1;
for(int k:tmp){
if(n==tmp.length){
System.out.println(k);
}else{
System.out.print(k+"、");
}
n++;
}
}
}
}

Email地址有效性判断

import java.util.Scanner;

public class TestEmail {
public static boolean isLetterOrNum(String s){
boolean flag=true;
Character c;
for (int i = 0; i < s.length(); i++) {
c=s.charAt(i);
if(!(Character.isLetter(c)||Character.isDigit(c)||c=='_')){
flag=false;
break;
}
}
return flag;
}
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
String s=scan.next();
boolean isEmail=true;
if(s.contains("@")){
if(s.indexOf('@')==s.lastIndexOf('@')){
String st=s.substring(0, s.indexOf('@'));
if(isLetterOrNum(st)){
if(s.endsWith(".com")||s.endsWith(".cn")||s.endsWith(".net")){
String str=s.substring(s.indexOf('@')+1, s.lastIndexOf('.'));
if(!isLetterOrNum(str)){
isEmail=false;
}
}else{
isEmail=false;
}
}else{
isEmail=false;
}
}else{
isEmail=false;
}
}else{
isEmail=false;
}

if(isEmail){
System.out.println(s+"is a valid email!");

}else{
System.out.println(s+"is not a valid email!");
}
}
}

矩阵对角线计算

import java.util.Random;

public class TestMatrix2 {
public static void main(String[] args) {
int v=4;
double[][] a = new double[v][v];
Random rand=new Random();
double tem;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
a[i][j]=rand.nextDouble()%10+10;
System.out.print(a[i][j]+"\t");
}
System.out.println();
}

double mulp1 = 1.0;
double mulp2 = 1.0;
for (int i = 0; i < a.length; i++) {
mulp1 *= a[i][i];
mulp2 *= a[i][a.length - i - 1];
}
System.out.println(mulp1);
System.out.println(mulp2);
}
}
///////////////////////二维数组的遍历//
import java.lang.reflect.Array;
import java.util.*;
public class testMatrix {
public static void main(String[] args) {
/*
////////////////同行元素间用、分开,要换行//////////////////
int arr2[][] = { { 4, 3 }, { 1, 10 } ,{7,8,9}}; // 定义二维数组
//System.out.println(arr2.length);
System.out.println("数组中的元素是:"); // 提示信息
int i;
for (int x[]:arr2) { // 外层循环变量为一维数组
i=0;
for (int e:x) { // 循环遍历每一个数组元素
i++;
if (i == x.length) { // 判断变量是二维数组中的最后一个元素
System.out.print(e+"\n"); // 输出二维数组的最后一个元素
} else
// 如果不是二维数组中的最后一个元素
System.out.print(e + "、"); // 输出信息
}
}*/


}
}

随机数产生

import java.util.Arrays;
import java.util.Random;

public class testrandom {
public static void main(String[] args) {
int[] a=new int[10];
int x;

Random rand=new Random();
int k;
for(int i=0;i<a.length;i++){
//a[i]=rand.nextInt(90)+10;
while((k=rand.nextInt(100))<10){;}
a[i]=k;
}

Arrays.sort(a);
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+"\t");
}

// for(int i:a){
// System.out.print(i+"\t");
// }

}
}

数字前面加逗号,每3位加1个


public class testStringBuffer {
public static void main(String[] args) {
StringBuffer str=new StringBuffer();
str.append("1234567890");
//StringBuffer str=new StringBuffer("12345678");
for(int i=str.length()-1,j=1;i>0;i--,j++){
if(j%3==0){
str.insert(i,',');
}
}
System.out.println(str);

System.exit(0);
}
}