2015-12-04 2 views
1

Итак, я здесь новый, и это мой первый вопрос ... Есть ли правильный синтаксис для использования цикла for в JOptionPane.showMessageDialog?Может ли цикл for использоваться в JOptionPane.showMessageDialog?

Это мой текущий код, и я знаю, что он не работает. Мой код предназначен для отображения факторов определенного целого числа, и я хочу знать, как я могу показать это в JOptionPane.

String c = JOptionPane.showMessageDialog(null 
,for(d=1;d<=c;d++){ 
    if(c%d==0){ 
    d+" " 
    } 
} 
,"The factors of "+c+" are: " 
,JOptionPane.INFORMATION_MESSAGE); 
+0

Вы не можете использовать JOptionPane.showMessageDialog как это, но вы можете сделать вы владеете JDialog (продлить его) с JTextField (для ввода) и JLabel (для результата) и actionListener на JTextField (введите), чтобы отобразить результат ... –

+0

@PetterFriberg спасибо за немедленный ответ, также, если возможно, вы можете указать пример кода? Я забыл упомянуть об этом в начале, но я все еще новичок в java. – Halcyon

ответ

0

Спасибо Petter Friberg для дачи ответа, я нашел решение моей проблемы благодаря вам, хотя я не использовал все ваши предложения. Так вот мой код ...

import java.util.*; 
import javax.swing.*; 
public class TestNo3{ 
    public static void main(String[] args) { 
     JTextArea factorsArea = new JTextArea(); 
     JTextField inputInt1 = new JTextField(5); 
     JPanel factorsPanel = new JPanel(); 
     factorsPanel.add(new JLabel("Enter an integer: ")); 
     factorsPanel.add(inputInt1); 

    int int1 = JOptionPane.showConfirmDialog(null, factorsPanel 
     ,"Show the factors of a number." 
     ,JOptionPane.OK_CANCEL_OPTION); 
      if(int1==JOptionPane.OK_OPTION){ 
      String inputIntS = inputInt1.getText(); 
      int inputIntI = Integer.parseInt(inputIntS); 

      for(int numB=1;numB<=inputIntI;numB++){ 
       if(inputIntI%numB==0){ 
       String outputS = String.format("%5d", numB); 
       factorsArea.append(outputS);   
       } 
      } 

      JOptionPane.showMessageDialog(null, factorsArea 
       ,"The factors of "+inputIntI+" are: " 
       ,JOptionPane.INFORMATION_MESSAGE);  
      } 
    } 
} 
Смежные вопросы