- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要:
这是我针对此特定功能的页面。我在这个项目中涉及许多不同的 java 页面、servlet 和 jsp 页面,因此如果您需要其中的任何内容,请直接询问。
文本文件包含按以下顺序排列的学生
信息:
Student ID, Last Name, First Name, Quiz Scores 1-5, Makeup Quiz Score, Midterm Score, Problems Score, and Final Exam Score.
文本文件的格式示例如下:
1234,Some,Person,98.0,94.0,97.0,96.0,99.0,0.0,92.0,95.0,99.0 1235,Another,Person,89.0,99.0,87.0,85.0,88.0,0.0,89.0,98.0,99.0 1236,Onemore,Person,89.0,98.0,89.0,98.0,97.0,0.0,79.0,89.0,99.0
但是,我在表格中得到的输出只是第一行,并且全部位于第一个单元格中。
如果你能给我指出正确的方向,我就完全迷失了。
这是我的学生
类(class)页面:
public class Student {
private String sid,fnm,lnm,lgrade;
private double q1,q2,q3,q4,q5,qmkup,midt,probs,finex,qavg,cavg;
public Student (){
//empty constructor
sid="";
lnm="";
fnm="";
lgrade="";
q1= 0;
q2= 0;
q3= 0;
q4= 0;
q5= 0;
qmkup= 0;
midt= 0;
probs= 0;
finex= 0;
qavg= 0;
cavg= 0;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getFnm() {
return fnm;
}
public void setFnm(String fnm) {
this.fnm = fnm;
}
public String getLnm() {
return lnm;
}
public void setLnm(String lnm) {
this.lnm = lnm;
}
public String getLgrade() {
return lgrade;
}
public double getQ1() {
return q1;
}
public void setQ1(double q1) {
this.q1 = q1;
}
public double getQ2() {
return q2;
}
public void setQ2(double q2) {
this.q2 = q2;
}
public double getQ3() {
return q3;
}
public void setQ3(double q3) {
this.q3 = q3;
}
public double getQ4() {
return q4;
}
public void setQ4(double q4) {
this.q4 = q4;
}
public double getQ5() {
return q5;
}
public void setQ5(double q5) {
this.q5 = q5;
}
public double getQmkup() {
return qmkup;
}
public void setQmkup(double qmkup) {
this.qmkup = qmkup;
}
public double getMidt() {
return midt;
}
public void setMidt(double midt) {
this.midt = midt;
}
public double getProbs() {
return probs;
}
public void setProbs(double probs) {
this.probs = probs;
}
public double getFinex() {
return finex;
}
public void setFinex(double finex) {
this.finex = finex;
}
public double getQavg() {
calcStudent();
return qavg;
}
public double getCavg() {
return cavg;
}
private void calcStudent(){
double[] qs = { q1, q2, q3, q4, q5, qmkup};
Arrays.sort(qs);
qavg = (qs[2] + qs[3] + qs [4] + qs[5]) / 4.0;
if (qavg >= 89.5 && midt >= 89.5 && probs >= 89.5){
cavg = (qavg+midt+probs) / 3.0;
lgrade = "A";
}else{
cavg = (qavg * .5) + (midt * .15) + (probs * .1) + (finex * .25);
if (cavg >= 89.5){
lgrade = "A";
}else if (cavg >= 79.5){
lgrade = "B";
}else if (cavg >= 69.5){
lgrade = "C";
}else if (cavg >= 59.5){
lgrade = "D";
}else{
lgrade = "F";
}
}
}
@Override
public String toString(){
String s = sid + "," + lnm + "," + fnm + "," +
q1 + "," + q2 + "," + q3 + "," + q4 + "," + q5 + "," +
qmkup + "," + midt + "," + probs + "," + finex;
return s;
}
这是我的java页面:
public class StudentIO {
public static void addStudent(Student s, String path)
throws IOException{
File f = new File(path);
PrintWriter out = new PrintWriter(new FileWriter(f,true));
out.println(s.toString());
out.close();
}
public static ArrayList<Student> getStudentList(String path)
throws IOException {
BufferedReader in = new BufferedReader
(new FileReader(path));
ArrayList<Student> sList = new ArrayList<Student>();
String line = in.readLine();
String data[];
while (line != null){
data = line.split(",");
Student s = new Student();
s.setSid(data[0]);
s.setLnm(data[1]);
s.setFnm(data[2]);
s.setQ1(Double.parseDouble(data[3]));
s.setQ2(Double.parseDouble(data[4]));
s.setQ3(Double.parseDouble(data[5]));
s.setQ4(Double.parseDouble(data[6]));
s.setQ5(Double.parseDouble(data[7]));
s.setQmkup(Double.parseDouble(data[8]));
s.setMidt(Double.parseDouble(data[9]));
s.setProbs(Double.parseDouble(data[10]));
s.setFinex(Double.parseDouble(data[11]));
s.getSid();
s.getLnm();
s.getFnm();
s.getQ1();
s.getQ2();
s.getQ3();
s.getQ4();
s.getQ5();
s.getQmkup();
s.getMidt();
s.getProbs();
s.getFinex();
sList.addAll(Arrays.asList(s));
line = in.readLine();
}
in.close();
return sList;
}
这是我的 servlet:
public class ClassListServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String emsg = "";
String path;
String URL = "/ClassList.jsp";
ArrayList<Student> stulist;
try{
path = getServletContext().getRealPath("/WEB-INF/classlist.txt");
stulist = StudentIO.getStudentList(path);
request.setAttribute("stulist", stulist);
}catch (Exception e){
emsg = "Process error: " +e.getMessage();
URL = "/students.jsp";
}
RequestDispatcher disp = getServletContext().getRequestDispatcher(URL);
disp.forward(request, response);
}
这是 JSP 页面:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Class List</title>
</head>
<body>
<h1>Students on file:</h1>
<table>
<tr>
<th colspan="12"><br>Class List</th>
</tr>
<tr>
<th colspan="1">Student ID</th>
<th colspan="1">Last Name</th>
<th colspan="1">First Name</th>
<th colspan="1">Quiz 1</th>
<th colspan="1">Quiz 2</th>
<th colspan="1">Quiz 3</th>
<th colspan="1">Quiz 4</th>
<th colspan="1">Quiz 5</th>
<th colspan="1">Make-Up Quiz</th>
<th colspan="1">Midterm</th>
<th colspan="1">Problems</th>
<th colspan="1">Final</th>
</tr>
<%
ArrayList<Student> studt = (ArrayList<Student>)
request.getAttribute("stulist");
for (int i = 0; i < studt.size(); i++) {
%>
<tr>
<td><%= studt.get(i) %></td>
</tr>
<% } %>
</table>
<%
//cells and titles for each output field
//every time through loop will process each individual
//student object instead of string objects
%>
</body>
最佳答案
问题出在 getStudentList()
方法中,您不需要每次都创建一个新的 ArrayList
。
sList = new ArrayList<Student>();
必须移出 while 循环
关于java - 需要 txt 文件中的数据(以逗号分隔),以使用现有类中的对象填充数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21844180/
padding:initial 比 padding:0 有什么优势吗?示例: textarea { padding: 0; } Hello, world! 最佳答案 它们的意思是一
我尝试通过按钮填充 JList,然后在先前填充的 Jlist 上使用 DoubleClick 填充 JTextField。 代码: private void extractUsedVariables
我正在尝试做 var width = ($(this).width() + $(this).css('padding-left') + $(this).css('padding-right' ));
我在导航中添加了悬停效果,遗憾的是悬停也影响了上面的文字。如何在不影响文本位置的情况下向导航添加悬停? 可悲的是,我找不到解决这个问题的方法。 HTML 模板:http://projects.help
我是 F# 初学者,下面代码中的 %-5s 和 %5s 有什么作用?我认为它提供了空间填充,但我不确定它是如何填充的? printfn "%-5s %5s" "a" "b" 当我尝试 prin
我需要选择带狗的用户(带 type 等于“狗”的宠物) var User = Waterline.Collection.extend({ identity: 'user', attribute
我一直在尝试让 Excel 在一组列上应用公式,然后将模式扩展到整个行集。 这导致了以下代码: For i = 0 To avgsheetNames.Count - 1 If Contains(CSt
随着 Flutter 2.0 的发布,FlatButton已被替换为 TextButton . 因此,填充属性不再直接可用,而是作为 ButtonStyle属性(property)。 我的问题是,我该
这似乎是一个简单的问题,但我已经尝试了一个小时,似乎无法弄清楚。 我要做的就是用 Canvas 填充 MainWindow。我找不到任何允许这样做的属性,我能想到的唯一方法是设置 Canvas.Wid
这是a website具有移动 View 。 网站宽度为 640 像素,但 iPhone 以 678 像素渲染文档。在 Android 中看起来很棒。 我添加了视口(viewport)元: 主体 C
我正在使用 GridBagLayout到(当前)显示两行。我知道这种布局对于这项任务来说太过分了,但我正在努力学习如何使用它。问题是我已将两个面板添加到两个单独的行中,并且内容周围存在巨大差距(请参见
我有以下代码已传递给我并创建多边形: var map; function initialize() { var myLatlng = new google.maps.LatLng(-36.4
我在 Jpanel 中有一些项目,然后将其推到顶部并用作基本搜索引擎的工具栏。我遇到一个问题,因为没有足够的空间,所以我的最后一个组合框没有显示。但是,左侧有很多空白空间,我需要移动所有内容来填充 J
我创建了带有阈值的二进制图像。如下图所示如何改变白色形状的颜色以使其可索引? 到目前为止,这是我的代码: void threshold() { cv::Mat src_8uc3_img = c
我有一个 JTable,我想知道是否有更好的方法来填充它,这是我的代码: //Metodo para llenar un jtable con datos de la base public stat
我想要做的是裁剪一个卷以删除所有不相关的数据。例如,假设我有一个 100x100x100 的体积,其中填充了 0,但其中的 50x50x50 体积则填充了 1。如何从原始体积中获得裁剪后的 50x50
因此,我正在创建一种对一组数字进行洗牌的方法,其想法是创建这些数字的总体。因此,我创建了一个循环,对数字进行洗牌,然后将其添加到数组列表中,但是经过一些调试语句后,我发现它确实对数字进行洗牌,但只将最
假设我有这两个类: public class A where T : IEntityWithID, new() { private static EntityInfo entityInfo =
我正在尝试添加用户输入的两个大整数作为字符串。当两个输入字符串的长度不同时,我尝试用零填充较短的数字,但它不起作用。因此,如果我输入 456 和 7,它会给出 3,前面有一些随机字符。感谢您的任何建议
这是我将内容打印到表格 View 的代码 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: Index
我是一名优秀的程序员,十分优秀!