為什么 Min & Max 在這個陣列中顯示為 0?我試圖弄清楚一段時間,但我無法解決它。
public class Main
{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
int []x=new int[n-1];
random(x);
sizeArray(x);
System.out.println("The min is " min(x));
System.out.println("The max is " max(x));
System.out.println("The Total is " getTotal(x));
}
public static int random(int[]x){
Random rand=new Random();
for (int i = 0; i < x.length; i ) {
x[i]=rand.nextInt(101);
}
return 0;
}
public static int sizeArray(int []x){
for (int i = 0; i < x.length; i ) {
System.out.println(x[i]);
}
return 0;
}
這是“分鐘”。
public static int min(int[]x){
int min=0;
for (int i = 0; i < x.length; i ) {
if(x[i]<min){
min=x[i];
}
}
return min;
}
而“最大”我不確定是什么問題。
public static int max(int[]x){
int max=0;
for (int i = 0; i < x.length; i ) {
if(x[i]>max)
x[i]=max;
i ;
}
return max;
}
public static int getTotal(int[]x){
int total=0;
for (int i = 0; i < x.length; i ) {
total=total x[i];
}
return total;
}
}```
||已解決|| 更改了 min 和 max 并添加了 max(x);最小值(x);在 main 中洗掉 ^^ System.out.println("The min is " min(x)); ^^ ^^ System.out.println("最大值為" max(x));.^^
import java.util.*;
public class Main
{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
int []x=new int[n];
random(x);
sizeArray(x);
maximum(x);
minimum(x);
System.out.println("The Total is " getTotal(x));
}
public static int random(int[]x){
Random rand=new Random();
for (int i = 0; i < x.length; i ) {
x[i]=rand.nextInt(101);
}
return 0;
}
public static int sizeArray(int []x){
for (int i = 0; i < x.length; i ) {
System.out.println(x[i]);
}
return 0;
}
|更改的最大值|
public static void maximum(int x[]) {
int max = x[0];
for (int i = 1; i < x.length; i ) {
if (x[i] > max) {
max = x[i];
}
}
System.out.println("maximum is:" max);
}
|并改變了分鐘|
public static void minimum(int x[]) {
int min = x[0];
for (int i = 1; i < x.length; i ) {
if (x[i] < min) {
min = x[i];
}
}
System.out.println("minimum is:" min);
}
public static int getTotal(int[]x){
int total=0;
for (int i = 0; i < x.length; i ) {
total=total x[i];
}
return total;
}
}
uj5u.com熱心網友回復:
在這里,您可能將陣列中的每個元素都設定為 0。無論如何,max 總是會回傳 0
public static int max(int[]x){
int max=0;
for (int i = 0; i < x.length; i ) {
if(x[i]>max)
x[i]=max;
i ;
}
return max;
}
在這里,您從 min = 0 (不一定是陣列中的值)開始,并且由于所有值都大于 0,因此回傳值為 0。
public static int min(int[]x){
int min=0;
for (int i = 0; i < x.length; i ) {
if(x[i]<min){
min=x[i];
}
}
return min;
}
老實說,如果您使用除錯器逐步執行您的函式,這將非常容易,否則您就可以弄清楚這一點。學習如何使用除錯器是一項寶貴的技能!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/383243.html
