在程序中,如果我输入0它退出,问题是当我尝试打印数组后,如果我选择退出将会有很多0。如何防止打印。
package lu.ics.Sohail.labbar;
import java.util.Arrays;
import java.util.Scanner;
public class November2012 {
public static void main(String[] args) {
int tal;
int summa=0;
Scanner input = new Scanner(System.in);
int [] array = new int [100];
int min = Integer.MAX_VALUE;
int max = 0;
for (int i=0 ; i<array.length; i++ ){
System.out.print("Ange tal 0 avsluta");
array[i] = input.nextInt();
summa =summa+array[i];
if (array[i]==0) {
break;
}
while(array[i]<min)
{
min=array[i];
}
while(array[i]>max)
{
max=array[i];
}
}
System.out.print("Talen är " + Arrays.toString(array));
System.out.println();
System.out.print("Summan är " + summa);
System.out.println();
System.out.print("Max är " + max);
System.out.println();
System.out.print("Min är " + min);
}
}
答案 0 :(得分:0)
对于此调用中的每个项,数组的其余部分已初始化为0:
int [] array = new int [100];
然后当检测到第一个0
时,它会中断for
循环并打印所有内容。
答案 1 :(得分:0)
您需要使用自己的大小创建数组。创建阵列时分配100个静态内存,并将所有值分配给0.
System.out.print("Enter the array size");
int arraySize = input.nextInt();
int [] array = new int [arraySize];
否则使用ArrayList<Integer>
存储数字
答案 2 :(得分:0)
我想我现在明白了。
int [] array = new int [100];
将创建一个包含100个整数的数组,每个元素的初始值为0(这是int
的默认值)。因此,当您打印阵列时,将打印100个数字,无论它们是否为0。
你有几个选择:
List<Integer>
,这样列表中只包含在第一个0之前输入的数字。话虽如此,我建议使用列表,因为这会更灵活。
答案 3 :(得分:0)
使用ingeter数组。但是,当您打印数组时,这将打印null。添加条件时不打印。
package com.prasad.samples.views;
import java.util.Arrays;
import java.util.Scanner;
public class November2012 {
public static void main(String[] args) {
int tal;
int summa=0;
Scanner input = new Scanner(System.in);
Integer [] array = new Integer [100];
System.out.println(array[0]);
int min = Integer.MAX_VALUE;
int max = 0;
for (int i=0 ; i<array.length; i++ ){
System.out.print("Ange tal 0 avsluta");
array[i] = input.nextInt();
summa =summa+array[i];
if (array[i]==0) {
break;
}
while(array[i]<min)
{
min=array[i];
}
while(array[i]>max)
{
max=array[i];
}
}
System.out.print("ar " + Arrays.toString(array));
System.out.println();
System.out.print("summan ar " + summa);
System.out.println();
System.out.print("Max ar " + max);
System.out.println();
System.out.print("Min ar " + min);
}
}