用于数字个数量不大的时候
public class Demo12 {public static void main(String[] args) {int[] nums= {23,1,45,89,203,49};int n=4;boolean f=false;//false 没找到 true找到了for (int i = 0; i < nums.length; i++) {if(nums[i]==n) {System.out.println("找到了");f=true;break;}}if(!f) {System.out.println("没找到");}}}
在有序的数列基础查找的
public class Demo13 {public static void main(String[] args) {int[] nums= {1,24,35,46,57,78,90,98};int n=98;int start=0;int end=nums.length-1;int mid;boolean f=false;//false没找到 true找到了do {mid=(start+end)/2;if(nums[mid]==n) {System.out.println("找到了");f=true;break;}else if(nums[mid]<n) {start=mid+1;}else {end=mid-1;}}while(start<=end);if(!f) {System.out.println("没找到");}}}
定义数组,然后对其遍历:
方法一:
public class Demo01 {public static void main(String[] args) {int[][] nums=new int[3][];String[][] strs=new String[4][5];nums[0]=new int[] {1,2,3};nums[1]=new int[] {23,4,12};nums[2]=new int[] {1};boolean[][] ds= {{true,false,true},{true,false},{false}};//遍历 nums[][]System.out.println(nums.length);for (int i = 0; i < nums.length; i++) {int[] n=nums[i];for (int j = 0; j < n.length; j++) {System.out.print(n[j]+" ");}System.out.println();}}
}
方法二:
public class Demo01 {public static void main(String[] args) {int[][] nums=new int[3][];String[][] strs=new String[4][5];nums[0]=new int[] {1,2,3};nums[1]=new int[] {23,4,12};nums[2]=new int[] {1};boolean[][] ds= {{true,false,true},{true,false},{false}};//遍历 nums[][]for (int j = 0; j < nums[i].length; j++) {System.out.print(nums[i][j]+" ");}System.out.println();} }
}
键盘输入赋值,进行遍历:
public class Demo01 {public static void main(String[] args) {double[][] dd=new double[2][3];Scanner input=new Scanner(System.in);for (int i = 0; i < dd.length; i++) {for (int j = 0; j < dd[i].length; j++) {dd[i][j]Double();System.out.print(dd[i][j]+" " );}System.out.println();}
}
编写一个程序,在一个4*4的矩阵中随机填入0和1,打印该矩阵,找到一个具有最多1的行和列。下面是程序运行示例:
0010
0011
1101
1010
最多1的行是:2
最多1的列是:2
package se0606;import java.util.Scanner;public class Demo02 {public static void main(String[] args) {int[][] nums=new int[4][4];Scanner input=new Scanner(System.in);//循环输入,给二维数组赋值for (int i = 0; i < nums.length; i++) {for (int j = 0; j < nums[i].length; j++) {nums[i][j]Int();}}//求最多1 的行int max=0;int row=0;//最多1对应的row的下标for (int i = 0; i < nums.length; i++) {int count=0;//存储每一行1的个数for (int j = 0; j < nums[i].length; j++) {if(nums[i][j]==1) {count++;}}//求最值if(max<count) {max=count;row=i;}}//求最多1 的列int lie=nums[0].length;int max2=0;//最多1的个数int column=0;//1最多的列for (int i = 0; i < lie; i++) {//遍历每一列//遍历这一列的每一行int cCount=0;//每一列的1的个数for (int j = 0; j < nums.length; j++) {if(nums[j][i]==1) {cCount++;}}if(max2<cCount) {max2=cCount;column=i;}}System.out.println("最多1的行是:"+row);System.out.println("最多1的列是:"+column);}}
package se0606;
//判断一个数组是否有序
public class Demo03 {public static void main(String[] args) {
// int[] nums= {1,2,3,4,5,16,7,8,9};int[] nums= {9,8,7,6,6,4,3,2,1,0};int count1=0;//记录<=的次数int count2=0;//记录>=的次数for (int i = 0; i < nums.length-1; i++) {if(nums[i]<=nums[i+1]) {count1++;}if(nums[i]>=nums[i+1]) {count2++;}}if(count1==nums.length-1||count2==nums.length-1) {System.out.println("该数列有序");}else {System.out.println("该数列无序");}}}
编写一个程序,读入10个数并且显示互不相同的数(即一个数出现多次,但仅显示一次)输入之后,数组包含的都是不同的数。
package se0606;import java.util.Scanner;public class Demo04 {public static void main(String[] args) {int[] nums=new int[10];//从键盘输入10个数int index=0;Scanner input=new Scanner(System.in);for (int i = 0; i < nums.length; i++) {int numInt();//判断下数组中是否已经存储了numboolean f=false;//false 没 true 已经有了for (int j = 0; j < index; j++) {if(nums[j]==num) {f=true;break;}}if(f)continue;nums[index]=num;//确保数组中没有num的时候,才赋值index++;}//1 3 3 4 3 2 0 2 1 5int[] nums2= new int[index];for (int i = 0; i < index; i++) {nums2[i]=nums[i];}for (int i : nums2) {System.out.print(i+" ");}}}
方法一:
package se0606;public class Demo05 {public static void main(String[] args) {int[] nums= {1,1,1,2,3,4,4,4,3,6,6,6};boolean flag=true;//flase 没有四个连续的数 true有for (int i = 0; i < nums.length-3; i++) {
// boolean f=true;//true 想等 false不等flag=true;for (int j = i+1; j <=i+3; j++) {if(nums[i]!=nums[j]) {flag=false;break;}}if(flag) {System.out.println("有四个连续的数");flag=true;break;}}if(!flag) {System.out.println("没有");}}}
方法二:
package se0606;public class Demo06 {public static void main(String[] args) {int[] nums= {1,1,1,2,3,4,4,4,3,6,6,6,6};int count=1;boolean f=false;//true 有 false 没有for (int i = 1; i < nums.length; i++) {if(nums[i]==nums[i-1]) {count++;if(count==4) {f=true;break;}}else {count=1;}}if(f) {System.out.println("有四个连续的数");}else {System.out.println("没有");}}}
package se0606;import java.util.Scanner;public class Demo07 {public static void main(String[] args) {Scanner input=new Scanner(System.in);System.out.print("请输入小球的个数:");int ballsInt();System.out.println("请输入槽子的个数:");int caoziInt();int[] caos=new int[caozi];for (int i = 0; i < balls; i++) {String path="";int count=0;for (int j = 0; j < caozi-1; j++) {//[0.0,1.0)*2 [0,2.0)int random=(int)(Math.random()*2);//产生0,1随机数if(random==0) {path+="L";}else {path+="R";count++;}}caos[count]++;System.out.println(path);}for (int i : caos) {System.out.print(i+" ");}System.out.println("---------------");//求槽子中最多的小球数int max=caos[0];//槽子中最多的小球数for (int i = 0; i < caos.length; i++) {if(max<caos[i]) {max=caos[i];}}//输出
// for (int i = max; i >=0; i--) {
// for (int j = 0; j < caozi; j++) {
// if(i<=caos[j]-1) {
// System.out.print("O");
// }else {
// System.out.print("X");
// }
// }
// System.out.println();
// }for (int i = max; i >=0; i--) {for (int j = 0; j < caozi; j++) {if(i<caos[j]) {//caos[j]System.out.print("O");}else {System.out.print("X");}}System.out.println();}}}
本文发布于:2024-02-01 18:23:42,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170678302438581.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |