2013-11-08 3 views
0

Код ниже при запуске генерирует только имя последнего ученика с отметками < 30 Я хочу, чтобы все имена ученика отображались в том же диалоговом окне сообщения. Пожалуйста помоги. Спасибо, и я довольно новичок в кодировании.если условие используется с JOptionPane showMessageDialog

import javax.swing.JOptionPane; 
class marks 
{ 
    public static void main(String args[]) 
    { 
    String name=" "; 
    int marks=0; 

    for(int x=0; x<3; x++) 
     { 
     name=JOptionPane.showInputDialog(null,"Please enter the name"); 
     marks=Integer.parseInt(JOptionPane.showInputDialog(null,"Please enter the marks")); 
     } 

    if (marks<30) 
      { 
     (JOptionPane.showMessageDialog(null,"the students who got marks below 30 are: "+name)); 
     } 
    } 
} 

ответ

0

Я думаю, вам необходимо прочитать basics. Также для этих целей используйте массивы вместо одной переменной. Я изменить свой код, я думаю, что это делать то, что вы хотите:

public class marks { 

    public static void main(String args[]) { 
     int count = 3; 
     String[] name = new String[3]; 
     int[] marks = new int[3]; 
     for (int x = 0; x < count; x++) { 
      name[x] = JOptionPane.showInputDialog(null, "Please enter the name"); 
      marks[x] = Integer.parseInt(JOptionPane.showInputDialog(null,"Please enter the marks")); 
     } 
     String names=""; 
     for(int i = 0;i<count;i++){ 
      if (marks[i] < 30){ 
       names+= name[i]+", "; 
      } 
     } 
     if(names.endsWith(", ")){ 
      names = names.substring(0,names.length()-2); 
     } 
     if(!names.isEmpty()){ 
      JOptionPane.showMessageDialog(null,"the students who got marks below 30 are: " + names); 
     } 
    } 
} 
0
import java.util.ArrayList; 
import javax.swing.JList; 
import javax.swing.JOptionPane; 
import javax.swing.JScrollPane; 
class marks 
{ 

    public static void main(String args[]) 
    {int x=0; 
// String name=" "; 
// int marks=0; 
    ArrayList<Integer> marks= new ArrayList<Integer>(); 
    ArrayList<String> name= new ArrayList<String>(); 
    ArrayList<String> array = new ArrayList<String>(); 
    for(x=0; x<3; x++) 
     { 
     name.add(JOptionPane.showInputDialog(null,"Please enter the name")); 
     marks.add(Integer.parseInt(JOptionPane.showInputDialog(null,"Please enter the marks"))); 

    } 

    // if (marks<30) 
    for(x=0 ; x<name.size(); x++) 
      { 

      if(marks.get(x)<30){ 
      array.add(name.toString()); 
//   JOptionPane.showMessageDialog(null,"the students who got marks below 30 are: "+name.); 
      break; 
     } 

    } 
    JOptionPane.showMessageDialog(null, new JScrollPane(new JList(array.toArray()))); 
} 
} 
Смежные вопросы