Разделение входного числа в Java

#java #swing #applet

#java #swing #апплет

Вопрос:

Привет, у меня проблема с моим кодом, я хочу ввести номер. Вместо отображения чисел в одном диалоговом окне он отображает число в каждом диалоговом окне, взгляните на код.

 import javax.swing.JOptionPane;

public class Vector_number {

    public static void main(String[] args) {
        String x;
        int i = 0;  
        int number; 
        int[] y;
        y = new int[10];

        x = JOptionPane.showInputDialog("Enter integer: ");

        number = Integer.parseInt(x);
        String myStr = " ";

        while (number > 0)  {           
            y[i] = number%10;           
            number = number/10;     
            i  ;    
        }

        for (i = i-1; i >= 0 ; i--) {       
            JOptionPane.showMessageDialog(null, y[i]  " ", 
                        "Weeeee", JOptionPane.PLAIN_MESSAGE);
            System.exit(0);
        }
    }
}
  

Комментарии:

1. Это домашнее задание …? Что произойдет, если я введу «12345»? Что, по-вашему, должно произойти в том же случае?

Ответ №1:

Вместо отображения панелей параметров ‘i’ сначала соберите все числа из массива, а затем отобразите их в одной панели. попробуйте

 `for(i=i-1;i>=0;i--){
  myStr =" " y[i];
 }
 JOptionPane.showMessageDialog(null, myStr,...`
  

Ответ №2:

Конечно. Вы вызываете диалоговое окно в цикле for.

Кроме того, вообще не используйте System.exit.

Ответ №3:

сначала создайте строку, затем покажите диалоговое окно

 StringBuilder str = new StringBuilder();
for (i = i-1; i >= 0 ; i--) {
      str .append( y[i]).append(" ");
} 
JOptionPane.showMessageDialog(null, str.toString, "Weeeee", JOptionPane.PLAIN_MESSAGE);