我可以打印空的int数组,在java中没有aprearing

时间:2015-10-25 01:01:29

标签: java

这是我的代码,如果它是空的,我可以打印我的数组而不是零吗?

import java.util.Arrays;
import java.io.*;
public class Stacks{
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("what is the size of your stack? :");
        int size = Integer.parseInt (br.readLine());
        int get = size;
        int[] Array = new int[size];
        System.out.println("type: push , pop , exit");
        System.out.println("remember! you can EXIT anytime");
        System.out.println(Arrays.toString(Array));
/*there still a code here but this is just what i needed to show..*/
    }
}

请帮助我.. PS我不想导入堆栈..

3 个答案:

答案 0 :(得分:1)

由于您没有将Array用作数组,而是最终作为堆栈使用,因此您不希望使用专为打印数组而设计的Arrays.toString()作为数组。你需要编写自己的方法,记住你创建的堆栈可能小于你要填充的数组的大小。

在不知道如何实现堆栈的情况下,基本模型将是

public static String arrayAsStack(int[] array, int elements_in_stack) {
   String out = "[";
   for(int i=elements_in_stack-1; i>=0; i--)
      out += arrary[i] + " ";
   out+="]";
   return out;
}

这种方法当然可能不正确,具体取决于格式化堆栈数组的方式。请注意elements_in_stack应该从0开始。一旦为堆叠获得了正确的方法实现,您就可以以自然的方式打印结果。

答案 1 :(得分:0)

如果您只想在不使用零的情况下显示数组,则可以使用if语句。

for( int i = 0; i < Array.length; i ++ ){
    if( Array[i] != 0 ){
        System.out.print( Array[i] + " ");
    }
}

这将遍历您的数组并测试值是否为零。如果不是,它将显示该值,如果是,则忽略它。

答案 2 :(得分:0)

而不是使用int类型我使用对象

创建它
 import java.util.Arrays;
 import java.io.*;
  public class Stacks{
public static void main(String[] args)throws IOException{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.println("what is the size of your stack? :");
    int size = Integer.parseInt (br.readLine());
    int get = size;
    Object[] Array = new Object[size];
    System.out.println("type: push , pop , exit");
    System.out.println("remember! you can EXIT anytime");
       /* here i use the code of Ryan*/ 
      for( int i = 0; i < Array.length; i ++ ){
         if( Array[i] != null ){
              System.out.print( Array[i] + " ");
             }
        }
 /*there still a code here but this is just what i needed to show..*/
   }
}

现在如果输入它我可以显示0 ..