Java 如何确定哪个变量包含用户输入
我正在创建一个程序,其中将询问用户(例如)一个学生姓名,然后询问该学生有多少科目,然后询问科目。但是我怎么知道那些科目是属于那个学生的呢Java 如何确定哪个变量包含用户输入,java,jlist,Java,Jlist,我正在创建一个程序,其中将询问用户(例如)一个学生姓名,然后询问该学生有多少科目,然后询问科目。但是我怎么知道那些科目是属于那个学生的呢 package test; import java.net.MalformedURLException; import java.util.ArrayList; import java.util.List; import javax.swing.*; import java.awt.event.ActionListener; import java.awt.
package test;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class test2 {
private JTextField textField;
private JList nameList;
private DefaultListModel nameListModel;
private JList subjectList;
private DefaultListModel subjectListModel;
private JTextField textField_1;
public test2() {
JFrame frame = new JFrame();
frame.getContentPane().setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textField = new JTextField();
textField.setBounds(51, 45, 86, 20);
frame.getContentPane().add(textField);
textField.setColumns(10);
frame.setSize(500,500);
frame.setVisible(true);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(51, 100, 136, 118);
frame.getContentPane().add(scrollPane);
nameListModel = new DefaultListModel();
nameList = new JList(nameListModel);
scrollPane.setViewportView(nameList);
subjectListModel = new DefaultListModel();
subjectList = new JList(subjectListModel);
JScrollPane scrollPane_1 = new JScrollPane();
scrollPane_1.setBounds(228, 101, 136, 118);
frame.getContentPane().add(scrollPane_1);
scrollPane_1.setViewportView(subjectList);
JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
}
});
btnNewButton.setBounds(51, 278, 89, 23);
frame.getContentPane().add(btnNewButton);
textField_1 = new JTextField();
textField_1.setBounds(135, 11, 86, 20);
frame.getContentPane().add(textField_1);
textField_1.setColumns(10);
JLabel lblProfName = new JLabel("Prof. name : ");
lblProfName.setBounds(49, 14, 76, 14);
frame.getContentPane().add(lblProfName);
textField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String data = textField.getText();
nameListModel.addElement(data);
List<String> list = new ArrayList<String>();
list.add(data);
textField.setText(null);
int count = Integer.parseInt(JOptionPane.showInputDialog(null,"Enter how many Subjects : ",JOptionPane.YES_NO_CANCEL_OPTION)) ;
String [] array = new String [count];
for (int i = 0; i < count; i++){
array[i] = JOptionPane.showInputDialog(null,"Enter Subject : ");
subjectListModel.addElement(array[i]);
}
}
});
}
public static void main(String[] args) throws MalformedURLException {
new test2();
}
}
封装测试;
导入java.net.MalformedURLException;
导入java.util.ArrayList;
导入java.util.List;
导入javax.swing.*;
导入java.awt.event.ActionListener;
导入java.awt.event.ActionEvent;
公共类test2{
私有JTextField textField;
私人名单;
私有DefaultListModel名称ListModel;
私有JList主题列表;
private DefaultListModel subjectListModel;
私有JTextField textField_1;
公共测试2(){
JFrame=新JFrame();
frame.getContentPane().setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textField=新的JTextField();
textField.setBounds(51,45,86,20);
frame.getContentPane().add(textField);
textField.setColumns(10);
框架。设置尺寸(500500);
frame.setVisible(true);
JScrollPane scrollPane=新的JScrollPane();
滚动窗格.立根(51100136118);
frame.getContentPane().add(滚动窗格);
nameListModel=新的DefaultListModel();
名称列表=新的JList(名称列表模型);
scrollPane.setViewportView(名称列表);
subjectListModel=新的DefaultListModel();
subjectList=新的JList(subjectListModel);
JScrollPane scrollPane_1=新的JScrollPane();
滚动窗格_1.后退(228、101、136、118);
frame.getContentPane().add(滚动窗格_1);
滚动窗格_1.setViewportView(主题列表);
JButton btnNewButton=新JButton(“新按钮”);
addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件arg0){
}
});
btnNewButton.setBounds(51,278,89,23);
frame.getContentPane().add(btnNewButton);
textField_1=新的JTextField();
textField_1.立根(135,11,86,20);
frame.getContentPane().add(textField_1);
textField_1.设置列(10);
JLabel lblProfName=新JLabel(“教授姓名:”);
lblProfName.setBounds(49,14,76,14);
frame.getContentPane().add(lblProfName);
addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件arg0){
String data=textField.getText();
nameListModel.addElement(数据);
列表=新的ArrayList();
列表。添加(数据);
textField.setText(空);
int count=Integer.parseInt(JOptionPane.showInputDialog(null,“输入主题数:”,JOptionPane.YES\u NO\u CANCEL\u选项));
字符串[]数组=新字符串[计数];
for(int i=0;i
用户可以根据需要添加多个学生,并为该学生添加科目。
另外,我做得对吗?您可以将StudentId存储为int值。根据该值,您可以随后提取结果 …创建一个新字段
private int studentId;
…一旦用户开始编辑,更新此值。由于它是一个int,您可以调用它的studentId++
,它将不断更新,直到用户完成添加student
每个学生ID都会与该主题相关,反之亦然。这取决于学生或学科的优先事项
在提取过程中,您可以简单地获取studentId和与他相关的主题,并将它们显示出来,或者做其他任何事情 如何将嵌入式数据库与表一起使用?你可以随时检索每个学生的科目