1.如何排序数组并搜素某个元素,找到返回下标
public class problem {
public static int bubblesort(int[] a,int m){
int tmp=0;
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-1-i;j++){
if(a[j]>a[j+1]){
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
for(int i=0;i<a.length;i++){
if(a[i]==m){
return i;
}
}
return -1;
}
public static void show(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int[] a={6,2,0,8,4,7,19,12,14,17};
show(a);
System.out.println("==排序后==");
int bubblesort=bubblesort(a,7);
show(a);
System.out.println("==查找数字下标为==");
System.out.println(bubblesort);
}
}
2.如何排序数组并插入某个元素
package problem;
import java.util.*;
public class insert {
public static void show(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
public static int[] searchAndinsert(int[] array,int[] array2,int a){
int i;
for(i=0;i<array.length;i++){
if(a>array[i]&&a<array[i+1]){
break;
}
}
System.arraycopy(array, 0, array2, 0, i+1);
array2[i+1]=a;
System.arraycopy(array,i+1 ,array2, i+2,array.length-i-1 );
return array2;
}
public static void main(String[] args) {
int[] a={6,2,0,8,4,7,19,12,14,17};
int m=9;
int[] b=new int[a.length+1];
System.out.println("==插入某元素前数组==");
show(a);
System.out.println("==排序后数组==");
Arrays.sort(a);//数组的排序方法
show(a);
System.out.println("要插入的元素:"+m);
System.out.println("==插入元素后的数组==");
searchAndinsert(a,b,m);
show(searchAndinsert(a,b,m));
}
}
3.如何反转数组
public static void reversal1(int[] array){
int tmp;
for(int i=0;i<array.length/2;i++){
tmp=array[i];
array[i]=array[array.length-1-i];
array[array.length-1-i]=tmp;
}
show(array);
}
public static void show(int[] array){
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int[] a={6,2,0,8,4,7,19,12,14,17};
System.out.println("==反转前数组==");
show(a);
System.out.println("==反转后数组==");
reversal1(a);
}
4.如何将字符串数组写入输出控制台(打印String数组)
public class print {
public static void main(String[] args) {
String[] a={"hua","chen","yu"};
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
5.如何搜素数组中最大值和最小值
public static void main(String[] args) {
int[] a={6,2,0,8,4,7,19,12,14,17};
int max=a[1];
int min=a[1];
for(int i=1;i<a.length;i++){
if(max<a[i]){
max=a[i];
}
if(min>a[i]){
min=a[i];
}
}
System.out.println("最大值为:"+max+" 最小值为:"+min);
}
6.如何合并两个数组
package problem;
import java.util.Arrays;
public class blend {
public static void main(String[] args) {
int[] a={6,2,0,8,4,7};
int[] b={19,12,14,17};
int[] c=new int[a.length+b.length];
for(int i=0;i<a.length;i++){
c[i]=a[i];
}
for(int i=0;i<b.length;i++){
c[i+a.length]=b[i];
}
System.out.println(Arrays.toString(c));
}
}
7.如何填充数组
package problem;
import java.util.Arrays;
public class fill {
public static void main(String[] args) {
String[] array = new String [6];
Arrays.fill(array,0,3,"HCY");//部分填充
System.out.println(Arrays.toString(array));
Arrays.fill(array,"HCY");//全部填充
System.out.println(Arrays.toString(array));
}
}
8.初始化后如何扩展数组
public static void ectArray(){
String[] str = {"A","B","C","D"};
// D E 3 4
String[] str2 = new String[str.length+2];
str2[str.length] = "E";
str2[str.length+1] = "F";
System.arraycopy(str, 0, str2, 0, str.length);
System.out.println(Arrays.toString(str2));
}
9.如何排序和比较数组
package problem;
import java.util.Arrays;
public class compare {
public static void main(String[] args) {
int[] array = {11,2,32,14,5};
int[] array2 = {11,2,32,14,5};
System.out.println(array.equals(array2));//地址!!!
if(Arrays.equals(array2, array)){
System.out.println("====same====");
}else{
System.out.println("===not=same====");
}
}
}
10.如何删除指定元素
package problem;
import java.util.Arrays;
public class delete {
public static int serach(int[] array,int val){
for(int i=0;i<array.length;i++){
if(array[i]==val){
return i;
}
}
return -1;
}
public static void main(String[] args) {
int[] a={6,2,0,8,4,7,19,12,14,17};
System.out.print("原数组为:");
System.out.println(Arrays.toString(a));
int val=0;
System.out.println("要删除的数据为:"+val);
if(serach(a,val)==-1){
return;
}
for(int i=serach(a,val);i<a.length-1;i++){
a[i]=a[i+1];
}
a=java.util.Arrays.copyOf(a, a.length-1);
System.out.print("删除后数组为:");
System.out.println(Arrays.toString(a));
}
}
11.如何从数组中查找常见元素
package problem;
import java.util.Arrays;
public class find {
public static void main(String[] args) {
int i;
int val=2;
int[] array = {1,2,3,14,5,32,2,1};
System.out.println("==原数组==");
System.out.println(Arrays.toString(array));
System.out.println("要查找的数:"+val);
System.out.print("要查找的下标为:");
for(i=0;i<array.length;i++){
if(array[i]==val){
System.out.print(i+" ");
}
}
}
}