java 嵌套在内层的if语句,不论条件是否成立,都始终只执行if(index!=0)后的语句块,问题出在哪?
原题:4、输入10个整型数字,删除指定的数字(输入),如果存在要删除的数字,则删除它并求剩下数字的最小值,如果不存在则提示不存在我写的代码:inti,sum=0,dele...
原题:
4、输入10个整型数字,删除指定的数字(输入),如果存在要删除的数字,
则删除它并求剩下数字的最小值,如果不存在则提示不存在
我写的代码:
int i,sum=0,delete=0,index=-1,min=0,temp2=0;
int []nums3=new int[10];
Scanner input=new Scanner(System.in);
System.out.println("请输入10个整型数字:");
for(i=0;i<10;i++){
nums3[i]=input.nextInt();
}
System.out.print("请输入你要删除的数字:");
delete=input.nextInt();
for(i=0;i<nums3.length;i++){
if(delete==nums3[i]){
index=i;
break;
}
}
if(index!=-1){
for(i=0;i<9;i++){
for(int l=0;l<9-i;l++){
if(nums3[l]>nums3[l+1]){
temp2=nums3[l];
nums3[l]=nums3[l+1];
nums3[l+1]=temp2;
}
}
}
if(index==0)
System.out.print("删除指定数字后,最小值是"+nums3[1]);
else
System.out.print("删除指定数字后,最小值是"+nums3[0]);
}else
System.out.print("不存在");
问题已解决,朋友们如果有更高效的方法,可以写下,同样给分哦! 展开
4、输入10个整型数字,删除指定的数字(输入),如果存在要删除的数字,
则删除它并求剩下数字的最小值,如果不存在则提示不存在
我写的代码:
int i,sum=0,delete=0,index=-1,min=0,temp2=0;
int []nums3=new int[10];
Scanner input=new Scanner(System.in);
System.out.println("请输入10个整型数字:");
for(i=0;i<10;i++){
nums3[i]=input.nextInt();
}
System.out.print("请输入你要删除的数字:");
delete=input.nextInt();
for(i=0;i<nums3.length;i++){
if(delete==nums3[i]){
index=i;
break;
}
}
if(index!=-1){
for(i=0;i<9;i++){
for(int l=0;l<9-i;l++){
if(nums3[l]>nums3[l+1]){
temp2=nums3[l];
nums3[l]=nums3[l+1];
nums3[l+1]=temp2;
}
}
}
if(index==0)
System.out.print("删除指定数字后,最小值是"+nums3[1]);
else
System.out.print("删除指定数字后,最小值是"+nums3[0]);
}else
System.out.print("不存在");
问题已解决,朋友们如果有更高效的方法,可以写下,同样给分哦! 展开
1个回答
展开全部
import java.util.Arrays;
import java.util.Scanner;
public class Kyo
{
public static void main(String[] args)
{
int len = 10;
int[] arr = new int[len];
Scanner scan = new Scanner(System.in);
System.out.println("请输入" + len + "个整型数字:");
for(int i = 0; i < len; i++)
{
arr[i] = scan.nextInt();
}
System.out.print("请输入你要删除的数字:");
int x = scan.nextInt();
scan.close();
boolean isExisted = false;
for(int i = 0; i < arr.length; i++)
{
int a = arr[i];
if(a == x)
{
int[] dest = new int[arr.length - 1];
System.arraycopy(arr, 0, dest, 0, i);
System.arraycopy(arr, i + 1, dest, i, arr.length - 1 - i);
arr = dest;
isExisted = true;
break;
}
}
System.out.println("剩余的数字有:" + Arrays.toString(arr));
if(isExisted)
{
int min = Integer.MAX_VALUE;
for(int i = 0; i < arr.length; i++)
{
int ai = arr[i];
min = ai < min ? ai : min;
}
System.out.println("删除指定数字" + x + "后,最小值是:" + min);
}
else
{
System.out.println("不存在");
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询