- 这里有操作excel的程序 但是一定要记得添加 jxl-2.6.jar包
- import java.io.File;
- import java.io.IOException;
-
-
- import jxl.Cell;
- import jxl.Sheet;
- import jxl.Workbook;
- import jxl.read.biff.BiffException;
- import jxl.write.Label;
- import jxl.write.WritableSheet;
- import jxl.write.WritableWorkbook;
- import jxl.write.WriteException;
- import jxl.write.biff.RowsExceededException;
-
-
- public class 操作excel {
- public static void main(String[] args) throws RowsExceededException, WriteException, BiffException {
- // 打开文件
- try {
- WritableWorkbook book = Workbook.createWorkbook(new File("test.xls"));
- // 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
- WritableSheet sheet = book.createSheet("第一页", 0);
-
- // 以及单元格内容为test
- Label label = new Label(0, 0, "test");
-
-
- // 将定义好的单元格添加到工作表中
- sheet.addCell(label);
-
-
- /*
- * 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123
- */
- jxl.write.Number number = new jxl.write.Number(1, 0, 555.12541);
- sheet.addCell(number);
-
-
- // 写入数据并关闭文件
- book.write();
- book.close();
- read();
-
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public static void read() throws BiffException, IOException{
- Workbook book = Workbook.getWorkbook(new File("test.xls"));
- System.out.println(new File("test.xls").getAbsolutePath());
- // 获得第一个工作表对象
- Sheet sheet = book.getSheet(0);
- // 得到第一列第一行的单元格
- Cell cell1 = sheet.getCell(0, 0);
- Cell cell2 =sheet.getCell(1,0);
- String result = cell1.getContents();
- String result2 =cell2.getContents();
- // 得到第二列第一行的单元格
- System.out.println(result);
- System.out.println(result2);
- book.close();
- }
- }
-
- import java.util.Scanner;
-
-
- public class Add {
- public static void main(String[] args) {
- /** 有N个纸片 每个纸片上面一个数字 抽取N次 看有没有和为m的可能
- *
- */
- System.out.println("请输入有几个纸片");
- int n;
- Scanner input=new Scanner(System.in);
- n=input.nextInt();
- System.out.println("请输入"+n+"数字");
- int [] a=new int[n];
- for(int i=0;i<n;i++){
- a[i]=input.nextInt();
- }
- System.out.println("你输入的数组是");
- for(int b:a){
- System.out.print(b+"\t");
- }
- a=Util.selectSort(a);
- System.out.println("请输入你想要求得和");
- int m=input.nextInt();
- boolean flag=false;
- for(int i=0;i<n;i++){
- for(int j=0;j<n;j++){
- for(int k=0;k<n;k++){
- for(int l=0;l<n;l++){
- //为了提高效率 a[i]+a[j]+a[k]+a[l] == m 可以写成 a[l]=m-(a[i]+a[j]+a[k]);
- //判断这组数据里面有没有这样的数
- //可以用先排好序列 然后再用二分查找
- // if(a[i]+a[j]+a[k]+a[l] == m){
-
- // flag=true;
- // }
- if(Util.isValueByMiddle(m-(a[i]+a[j]+a[k]), a)){
- flag=true;
- }
- }
- }
- }
- }
- if(flag){
- System.out.println("yes");
- }else{
- System.out.println("no");
- }
- }
-
-
- }