如何从Integer Queue转换为String?

时间:2013-04-25 14:40:00

标签: string integer queue

好的,所以我有这个非常简单,非常低效的程序,但是没关系,我唯一想知道的是如何在不改变ssn1到ssn5的值的情况下将队列的前五个数字打印为零

例如,我想打印000001111,而不是111111111,但仍然将这些值存储在队列中。有人可以帮助我吗?我只想隐藏它们。

我正在尝试将队列的整数转换为字符串,创建子字符串,然后打印dummyint五次,然后打印子字符串。

import java.util.*;

public class SSNQueue {
public static void main (String args[]) {

  Scanner scan = new Scanner(System.in);
  Queue<Integer> ssn = new LinkedList<Integer>();

  int Dummyssn = 0;

  System.out.println("Please enter each digit number of SSN");

  System.out.print("Enter digit number 1: ");
  int ssn1 = scan.nextInt();
  System.out.print("Enter digit number 2: ");
  int ssn2 = scan.nextInt();
  System.out.print("Enter digit number 3: ");
  int ssn3 = scan.nextInt();
  System.out.print("Enter digit number 4: ");
  int ssn4 = scan.nextInt();
  System.out.print("Enter digit number 5: ");
  int ssn5 = scan.nextInt();
  System.out.print("Enter digit number 6: ");
  int ssn6 = scan.nextInt();
  System.out.print("Enter digit number 7: ");
  int ssn7 = scan.nextInt();
  System.out.print("Enter digit number 8: ");
  int ssn8 = scan.nextInt();
  System.out.print("Enter digit number 9: ");
  int ssn9 = scan.nextInt();

  ssn.add(ssn1);
  ssn.add(ssn2);
  ssn.add(ssn3);
  ssn.add(ssn4);
  ssn.add(ssn5);
  ssn.add(ssn6);
  ssn.add(ssn7);
  ssn.add(ssn8);
  ssn.add(ssn9);

  Integer.toString(ssn);
  String Subssn = ssn.substring(5);

  System.out.println("The SSN is:" + ssn);
  System.out.println("The last four digits of the SSN are:" + Dummyssn + Dummyssn + Dummyssn + Dummyssn + Dummyssn + Subssn);
   }
}

1 个答案:

答案 0 :(得分:0)

这里有几个问题让我们不确切地知道你要做什么。首先,您读入多个int值(ssn1,ssn2 ... ssn9),然后将它们添加到队列中。然后调用Integer.toString(ssn)。 。 。我希望那条线上有错误。看起来你想要做的就是使用循环从队列中读取值,每次都将它们分配给一个临时的String变量,然后调用临时变量的substring函数并打印出结果。就像现在一样,你正在调用整个队列中的Integer.toString(ssn),我认为它不会做你想要的。队列仍然键入Integer(队列)。更不用说toString方法返回一个值,您应该将其读入另一个变量或在您调用它时使用。像这样在它自己的行上调用它并没有真正实现任何东西,因为即使它返回了一些值,它也不会被你的代码保留以供以后使用。