0

OK、私はこの非常に単純で非常に非効率的なプログラムを持っていますが、それで問題ありません。私が知りたいのは、ssn1 から ssn5 までの値を変更せずに、キューの最初の 5 つの数字をゼロとして出力する方法だけです。

たとえば、111111111 ではなく 000001111 を出力したいのですが、それらの値をキューに保存したままにします。誰かがそれを手伝ってくれませんか?私は単にそれらを隠したいだけです。

キューの整数を文字列に変換し、部分文字列を作成してから、dummyint を 5 回出力し、その後に部分文字列を出力しようとしています。

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);
   }
}
4

1 に答える 1

0

ここには、何をしようとしているのか正確にわからないようにするいくつかの問題があります。まず、複数の int 値 (ssn1、ssn2...ssn9) を読み取り、それらをキューに追加します。次に Integer.toString(ssn) を呼び出します。. . その行でエラーが発生することが予想されます。そこでやりたいことは、ループを使用してキューから値を読み戻し、それらを一時的な文字列変数に毎回割り当ててから、一時変数で部分文字列関数を呼び出して結果を出力することです。現時点では、キュー全体にある Integer.toString(ssn) を呼び出していますが、それがあなたの望むことをするとは思いません。キューは引き続き Integer (Queue) に入力されます。言うまでもなく、toString メソッドは、別の変数に読み込むか、呼び出すときに使用することになっている値を返します。

于 2013-04-25T14:57:53.587 に答える