今天修复了昨天的bug,因为大小于符号写反导致其筛选功能从最一开始就失效,经改正过后功能正常。
今天完成五个作业
1.
public class work02 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入十个整数:");
int[] nums = new int[10];
for (int i=0;i<nums.length;i++) {
nums[i] = input.nextInt();
}
System.out.println("请输入一个要查找的数:");
int find = input.nextInt();
for (int i=0;i<nums.length;i++) {
if( find == nums[i]) {
System.out.println("找到了:"+i);
break;
}else if (i==nums.length-1) {
System.out.println("不在数组中");
}
}
}
}
出现过的错误:没写break
2.
public class work03 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入十个整数:");
int[] nums = new int[10];
for (int i=0;i<nums.length;i++) {
nums[i] = input.nextInt();
}
int max = nums[0];
for (int i=0;i<nums.length;i++) {
max = max>nums[i]?max:nums[i];
}
System.out.println("最大值为"+max);
int min = nums[0];
for (int i=0;i<nums.length;i++) {
min = min<nums[i]?min:nums[i];
}
System.out.println("最小值为"+min);
}
}
3.
public class work04 {
public static void main(String[] args) {
int[] nums = {2,7,11,15};
int target = 9;
boolean flag = false;
for(int i=0;i<nums.length;i++) {
for(int j=i+1;j<nums.length;j++) {
if(nums[i]+nums[j]==target) {
System.out.println("找到了 "+i+"-"+j);
flag = true;
break;
}
}
}
if(!flag)
System.out.println("没有找到");
}
}
出现过的错误:在复制的时候把i++复制过来没改成j++,导致数组下标越界。
4.
public class work05 {
public static void main(String[] args) {
int[]nums = {1,3,9,5,6,7,15,4,8};
int temp;
for(int i=0;i<nums.length-1;i++) {
for(int j=0;j<nums.length-i-1;j++) {
if(nums[i]>nums[j+i]) {
temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
int s = 6;
int maxi = nums.length-1;
int mini = 0;
int zhongjian = (maxi + mini)/2;
while(true) {
if(nums[zhongjian]>s) {
maxi = zhongjian-1;
}else if(nums[zhongjian]>s) {
mini= zhongjian+1;
}else {
break;
}
if(mini>maxi) {
zhongjian=-1;
break;
}
}
System.out.println("位置"+zhongjian);
}
}
5.
public class work06 {
public static void main(String[] args) {
int[]nums = {0,1,0,3,12};
int index1 = 0;
int index2 = 0;
while(index2<nums.length) {
if(nums[index2]!=0) {
nums[index1]=nums[index2];
index1++;
index2++;
}else {
index2++;
}
}
for (int i=index1;i<nums.length;i++) {
nums[i]=0;
}
for (int i=0;i<nums.length;i++) {
System.out.println(nums[i]);
}
}
}