运行jsp时出现问题

运行jsp的时候出现了问题

img


Jsp代码:

<%@page import="java.util.List"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.ArrayList"%>
<%@page import="pc.ProblemCDAO"%>
<%@page import="vo.Queshu"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>JSP Page</title>
        <link rel="stylesheet" href="<%=request.getContextPath()%>/res/css/bootstrap.min.css" type="text/css" media="screen" />
     
    </head>
    <body>
        
        <h1>全部显示数据</h1>
        <table class="table table-striped table-bordered">
            <tr>
                <th>缺书出版社</th>        
            </tr>
            <%
                ProblemCDAO sdao = new ProblemCDAO();
                Queshu[] queshus=sdao.list();
                List<List<Queshu>> queshuList=sdao.subsets(queshus);
                            for(List<Queshu> h:queshuList) {
            %>

            <tr>
                <td>
                    <%=h%>
                </td>
              
            </tr>
            <%
                }
            %>
        </table>
    </body>
</html>


C的dao:

 */
package pc;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import util.FileUtils;
import vo.Queshu;

/**
 *
 * @author Administrator
 */
public class ProblemCDAO {

    public static  String[] getBinary(int n) {
        int size =(int) Math.pow(2, n);;
        String[] s = new String[size];

        for (int i = 0; i < s.length; i++) {
            s[i] = String.format("%0"+n+"d", Integer.parseInt(Integer.toBinaryString(i)));
        }
        return s;

    }
    public static List<List<Queshu>> subsets(Queshu[] nums) {
        int n=nums.length;
        //System.out.println(Arrays.toString(s));
        List<List<Queshu>> res = new ArrayList<>();
        res.add(new ArrayList<>());    
        String[] s=getBinary(n);
        for (int i = 1; i < s.length; i++) {
            List<Queshu> tmp = new ArrayList<>();
            for (int j = 0; j <= n-1; j++) {
                if (s[i].charAt(j) == '1') {
                    tmp.add(nums[j]);
                }
            }
            res.add(tmp);
        }
        return res;
    }        
    public static Queshu[] list() {
        List <String>    datas=FileUtils.readLines("d:/ks/20214075221/data/c/data.txt");
        Queshu[] all = new Queshu[datas.size()];
       int i=0;
       for(String data :datas){
      String temp[]=data.replaceAll("\"","").split(",");
       Queshu queshu = new Queshu(Integer.parseInt(temp[0]),temp[1],temp[2],temp[3],temp[4],temp[5],temp[6],temp[7],temp[8]);
       all[i++]=queshu;
       }
        return all;
    }    
    public   ArrayList<Queshu> listAll() {
        List <String>    datas=FileUtils.readLines("d:/ks/20214075221/data/c/data.txt");
        ArrayList<Queshu> all = new ArrayList<Queshu>();
       for(String data :datas){
       String temp[]=data.replaceAll("\"","").split(",");
       Queshu queshu = new Queshu(Integer.parseInt(temp[0]),temp[1],temp[2],temp[3],temp[4],temp[5],temp[6],temp[7],temp[8]);
       all.add(queshu);
               }
        return all;
    }   
    public  Map<String, List<Queshu>> listGroup() {
        ArrayList<Queshu> queshuList = listAll();
        Map<String, List<Queshu>> queshuListMap = new HashMap<>();
        for (Queshu queshu : queshuList) {
            String banshe=queshu.getBanshe();
            if(queshuListMap.containsKey(banshe)==false) {
                queshuListMap.put(banshe, new ArrayList<Queshu>());
            }
                for(String s: queshuListMap.keySet()){
                 List<Queshu> list = queshuListMap.get(s);
                }
            queshuListMap.get(banshe).add(queshu);
        }
        //System.out.println(heroListMap);
        return queshuListMap;
    }
    public static void main(String[] args) {
     
    }
}

Vo


package vo;

/**
 *
 * @author Administrator
 */
public class Queshu implements Comparable{
    private int quesuid ;//编号
    private String shu_name;//缺书书名
    private String banshe;//缺书出版社
    private String zuozhe;//作者
    private String chuban_date;//出版日期
    private String ISBN;//书号
    private String liuyan;//留言
    private String user;//用户名
    private String time;//登记时间

    public Queshu() {
    }

    public Queshu(int quesuid, String shu_name, String banshe, String zuozhe, String chuban_date, String ISBN, String liuyan, String user, String time) {
        this.quesuid = quesuid;
        this.shu_name = shu_name;
        this.banshe = banshe;
        this.zuozhe = zuozhe;
        this.chuban_date = chuban_date;
        this.ISBN = ISBN;
        this.liuyan = liuyan;
        this.user = user;
        this.time = time;
    }

    public int getQuesuid() {
        return quesuid;
    }

    public void setQuesuid(int quesuid) {
        this.quesuid = quesuid;
    }

    public String getShu_name() {
        return shu_name;
    }

    public void setShu_name(String shu_name) {
        this.shu_name = shu_name;
    }

    public String getBanshe() {
        return banshe;
    }

    public void setBanshe(String banshe) {
        this.banshe = banshe;
    }

    public String getZuozhe() {
        return zuozhe;
    }

    public void setZuozhe(String zuozhe) {
        this.zuozhe = zuozhe;
    }

    public String getChuban_date() {
        return chuban_date;
    }

    public void setChuban_date(String chuban_date) {
        this.chuban_date = chuban_date;
    }

    public String getISBN() {
        return ISBN;
    }

    public void setISBN(String ISBN) {
        this.ISBN = ISBN;
    }

    public String getLiuyan() {
        return liuyan;
    }

    public void setLiuyan(String liuyan) {
        this.liuyan = liuyan;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    @Override
    public String toString() {
        return "Queshu{" + "quesuid=" + quesuid + ", shu_name=" + shu_name + ", banshe=" + banshe + ", zuozhe=" + zuozhe + ", chuban_date=" + chuban_date + ", ISBN=" + ISBN + ", liuyan=" + liuyan + ", user=" + user + ", time=" + time + '}';
    }
 
  @Override 
public int compareTo(Object o) {
    Queshu other = (Queshu) o;
    return Integer.compare(this.quesuid, other.getQuesuid());
}

}

换成 Long.parseLong 吧,格式化改成 %ld

img

报错信息很明显了,你的string类型的字符串转成number的时候超过最大范围了