您的位置:

java期末,java期末总结报告

本文目录一览:

需要一份500行的java程序,期末大作业,最好带详细注释。

Java生成CSV文件简单操作实例

CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件。在 CSV文件中,数据“栏”以逗号分隔,可允许程序通过读取文件为数据重新创建正确的栏结构,并在每次遇到逗号时开始新的一栏。如:

123   1,张三,男2,李四,男3,小红,女   

Java生成CSV文件(创建与导出封装类)

package com.yph.omp.common.util;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.LinkedHashMap;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;

import org.junit.Test;

/**

* Java生成CSV文件

*/

public class CSVUtil {

/**

* 生成为CVS文件

*

* @param exportData

*            源数据List

* @param map

*            csv文件的列表头map

* @param outPutPath

*            文件路径

* @param fileName

*            文件名称

* @return

*/

@SuppressWarnings("rawtypes")

public static File createCSVFile(List exportData, LinkedHashMap map,

String outPutPath, String fileName) {

File csvFile = null;

BufferedWriter csvFileOutputStream = null;

try {

File file = new File(outPutPath);

if (!file.exists()) {

file.mkdir();

}

// 定义文件名格式并创建

csvFile = File.createTempFile(fileName, ".csv",

new File(outPutPath));

// UTF-8使正确读取分隔符","

csvFileOutputStream = new BufferedWriter(new OutputStreamWriter(

new FileOutputStream(csvFile), "GBK"), 1024);

// 写入文件头部

for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator

.hasNext();) {

java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator

.next();

csvFileOutputStream

.write("\"" + (String) propertyEntry.getValue() != null ? (String) propertyEntry

.getValue() : "" + "\"");

if (propertyIterator.hasNext()) {

csvFileOutputStream.write(",");

}

}

csvFileOutputStream.newLine();

// 写入文件内容

for (Iterator iterator = exportData.iterator(); iterator.hasNext();) {

Object row = (Object) iterator.next();

for (Iterator propertyIterator = map.entrySet().iterator(); propertyIterator

.hasNext();) {

java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator

.next();

/*-------------------------------*/ 

//以下部分根据不同业务做出相应的更改

StringBuilder sbContext = new StringBuilder("");

if (null != BeanUtils.getProperty(row,(String) propertyEntry.getKey())) {

if("证件号码".equals(propertyEntry.getValue())){

//避免:身份证号码 ,读取时变换为科学记数 - 解决办法:加 \t(用Excel打开时,证件号码超过15位后会自动默认科学记数)

sbContext.append(BeanUtils.getProperty(row,(String) propertyEntry.getKey()) + "\t");

}else{

sbContext.append(BeanUtils.getProperty(row,(String) propertyEntry.getKey()));                         

}

}

csvFileOutputStream.write(sbContext.toString());

/*-------------------------------*/                 

if (propertyIterator.hasNext()) {

csvFileOutputStream.write(",");

}

}

if (iterator.hasNext()) {

csvFileOutputStream.newLine();

}

}

csvFileOutputStream.flush();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

csvFileOutputStream.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return csvFile;

}

/**

* 下载文件

*

* @param response

* @param csvFilePath

*            文件路径

* @param fileName

*            文件名称

* @throws IOException

*/

public static void exportFile(HttpServletRequest request,

HttpServletResponse response, String csvFilePath, String fileName)

throws IOException {

response.setCharacterEncoding("UTF-8");

response.setContentType("application/csv;charset=GBK");

response.setHeader("Content-Disposition", "attachment; filename="

+ new String(fileName.getBytes("GB2312"), "ISO8859-1"));

InputStream in = null;

try {

in = new FileInputStream(csvFilePath);

int len = 0;

byte[] buffer = new byte[1024];

OutputStream out = response.getOutputStream();

while ((len = in.read(buffer)) 0) {

out.write(buffer, 0, len);

}

} catch (FileNotFoundException e1) {

System.out.println(e1);

} finally {

if (in != null) {

try {

in.close();

} catch (Exception e1) {

throw new RuntimeException(e1);

}

}

}

}

/**

* 删除该目录filePath下的所有文件

*

* @param filePath

*            文件目录路径

*/

public static void deleteFiles(String filePath) {

File file = new File(filePath);

if (file.exists()) {

File[] files = file.listFiles();

for (int i = 0; i files.length; i++) {

if (files[i].isFile()) {

files[i].delete();

}

}

}

}

/**

* 删除单个文件

*

* @param filePath

*            文件目录路径

* @param fileName

*            文件名称

*/

public static void deleteFile(String filePath, String fileName) {

File file = new File(filePath);

if (file.exists()) {

File[] files = file.listFiles();

for (int i = 0; i files.length; i++) {

if (files[i].isFile()) {

if (files[i].getName().equals(fileName)) {

files[i].delete();

return;

}

}

}

}

}

@SuppressWarnings({ "unchecked", "rawtypes" })

@Test

public void createFileTest() {

List exportData = new ArrayListMap();

Map row1 = new LinkedHashMapString, String();

row1.put("1", "11");

row1.put("2", "12");

row1.put("3", "13");

row1.put("4", "14");

exportData.add(row1);

row1 = new LinkedHashMapString, String();

row1.put("1", "21");

row1.put("2", "22");

row1.put("3", "23");

row1.put("4", "24");

exportData.add(row1);

LinkedHashMap map = new LinkedHashMap();

map.put("1", "第一列");

map.put("2", "第二列");

map.put("3", "第三列");

map.put("4", "第四列");

String path = "d:/export";

String fileName = "文件导出";

File file = CSVUtil.createCSVFile(exportData, map, path, fileName);

String fileNameNew = file.getName();

String pathNew = file.getPath();

System.out.println("文件名称:" + fileNameNew );

System.out.println("文件路径:" + pathNew );

}

}

//注:BeanUtils.getProperty(row,(String) propertyEntry.getKey()) + "\t" ,只为解决数字格式超过15位后,在Excel中打开展示科学记数问题。

大学java期末考试求求大家帮忙

%!

int a=20;

%

%a+=2;%

%a%

更多科目问题请追问

高分求做简单JAVA期末考试

1. Application 创建一个类,然后写一个主函数,再写一些程序在主函数里就是一个简单的Appliction

Applet 创建一个类继承Applet类,然后实现init,start,destory方法,这个就可以了

2. Java接口,Java语言中存在的结构,有特定的语法和结构; 包就是一个文件夹

3. 多态包括重载和重构 最通俗的程序例子,昨天刚写的

/**

简单的通俗的讲:

继承就是儿子继承了父亲,一个类内有一个父亲,但一个父亲可以有多个儿子

多态就是儿子虽然继承了父亲的一些特性,但有些特性有了改变

封装就是有些东西儿子是父亲独有的儿子继承不了

*/

class FatherClass {

//FatherClass的成员变量

//父亲公开的属性儿子,孙子,侄子都能访问 a

public int a;

//父亲私有的属性,儿子继承不了,在子类中也不能访问 b

private int b;

//FatherClass的成员方法

//父亲公开的方法儿子,孙子,侄子都能访问 eat

public void eat(){

System.out.println("Father eat!");

}

public void drink(){

System.out.println("Father drinking!");

}

//父亲私有的方法,儿子继承不了,在子类中也不能访问 方法height

private void height(){

System.out.println("Father height!");

}

//父亲的最终方法poor,也就是说儿子不能覆盖这个方法(儿子不能有和父亲方法头一样的函数)

public final void poor(){

System.out.println("Father poor!");

}

}

class SubClass extends FatherClass {

//虽继承了父亲的吃方法,但儿子又拓展了父亲的吃方法,要带餐具(多态中的一:重载)

public void eat(String tool){

System.out.println(tool+" :Son eat!");

}

//和父亲的喝方法一样,不过这是儿子自己的喝方法,不是从父亲那里来的(多态中的二:覆盖或重写或重构)

public void drink(){

System.out.println("Son drinking!");

}

public static void print(){

System.out.println("Static Function!");

}

}

public class ExtendsTest {

public static void main(String[] args) {

SubClass sc=new SubClass();

sc.eat();//儿子继承了父亲的吃方法,可以直接使用

sc.eat("Bowl");//虽然儿子继承了父亲的吃方法,可是儿子也有自己的吃方法(拓展了),得用餐具吃

sc.drink();//这里调用的是儿子的喝方法而不是父亲的噢,父亲的被儿子覆盖了

//sc.height();//父亲私有的儿子不能使用

SubClass.print();//静态方法直接使用 类名.方法名 调用

}

}

5.

面向对象特征:继承,多态,封装

6.

import java.util.Scanner;

public class CountNum {

/**

* @param args

*/

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.print("请输入一个整数:");

int number=sc.nextInt();

int sum=0;

for(int i=1;i=number;i++){

sum+=i;

}

System.out.println("1+2+...+number="+sum);

}

}

7.

public class Student {

private long id;

private String name;

private int age;

boolean sex;

String phone;

public Student(long i, String n, int a, boolean s, String p) {

this.id = i;

this.name = n;

this.age = a;

this.sex = s;

this.phone = p;

}

int getage() {

return age;

}

boolean getsex() {

return sex;

}

Long getphone() {

return Long.parseLong(phone);

}

public String tostring() {

return name;

}

}

还不多呢

总算弄完了,,

呵呵…………

祝你好运哈。。。

西安电子科技大学java期末有上机考试吗?

有上机考试。可以提前搜索了解历年的考试题目进行练习上机操作,根据导师上课的重点要求多复习。

java期末考试!!求助!!!

1.

第一种:

当X=10时 X-1=X; 无效表达式

当X=10时 X-=3; 等价于 X=X-3; 运算后x的值:7

当X=10时 X*=1+2; 等价于 X=X*(1+2); 运算后x的值:30

当X=10时 X%=5; 等价于 X=X%5; 运算后x的值:0

第二种:

如果是问 X 经过后三个表达式运算后的值(第一个表达式是错的):

X=X-3; 此时 X=7

X=X*(1+2); 此时 X=21

X=X%5; 此时 X=1

最后X为1

2.

当a=6; b=-4;时 --a%++b; 等价于 (a-1)%(b+1); 运算后的值:2

当a=6; b=-4;时 (--a)a;; 等价于 (a-1)a; 运算后的值:160

位运算

a-1的值为5

5的二进制为 101

55 表示把五的二进制向左移动5位 即101 00 000换十进制为160

当a=6; b=-4;时 (a10 a10 ? a:b); 等价于

如果a小于10 并且 a大于10 表达式的值为a也就是6 否则表达式的值为b 即-4

一个数不可能同时小于10又大于10 所以 表达式的值为b 也就是-4