我需要帮助,因为我的脑细胞无法找到此程序的问题!这是代码
import java.util.*; public class student{ public static void main (String []args) { Scanner sc=new Scanner(System.in); System.out.println("enter number elements"); //asking the user to enter the number of integer items int num=sc.nextInt(); int []myArray= new int[num]; int maxValue=myArray[0]; int minValue=myArray[0]; int i; for( i=0; i<myArray.length;i++) {System.out.print("Enter element"+(i+1)); //asking the user to enter the items myArray[i]=sc.nextInt(); } for(i=0; i<myArray.length;i++) {System.out.print(myArray[i]); //displaying the elements } System.out.println(" "); for( i=myArray.length-1; i>=0;i--) {System.out.print(myArray[i]); //displaying the elements in a backward order } System.out.println(" "); for( i=0; i<myArray.length;i++) {if(i%2==1) System.out.println(myArray[i]); //displaying the elements in odd indices } for( i=0; i<myArray.length-1;i++) { if(myArray[i]>maxValue) { maxValue= myArray[i]; //finding the maximum } } System.out.println(maxValue+" "+(i+1)); for( i=1; i<myArray.length-1;i++) { if( myArray[i]<minValue) {minValue= myArray[i]; //finding the minimum } } System.out.println(+minValue+" "+(i+1)); System.out.println(myArray[0]); //displaying first item System.out.println( myArray[myArray.length-1]); //displaying last item for( i=0; i<myArray.length;i++) {if(i%2==0) { myArray[i]= myArray[i]*-1; //multiplying items in even indices by -1 System.out.print( myArray[i]);} } } }
该程序执行注释中的操作,但是即使我不输入最小值,最小值也始终为零…我无法弄清楚问题出在哪里,因此,感谢您的帮助!
您初始化数组。然后给出默认值(每个int初始化为0)
int []myArray= new int[num]; int minValue=myArray[0];
它将是0
因此,如果您输入正整数,则找不到小于零的东西
解决方案 首先用用户输入填充数组,然后执行
int minValue=myArray[0];
或使用Integer.MIN_VALUE。