diff --git a/bin/finalexam/Database/DataOutput.class b/bin/finalexam/Database/DataOutput.class new file mode 100644 index 0000000..1b47854 Binary files /dev/null and b/bin/finalexam/Database/DataOutput.class differ diff --git a/bin/finalexam/StandardIO/DateCalculation.class b/bin/finalexam/StandardIO/DateCalculation.class index 53f2ed7..517b58d 100644 Binary files a/bin/finalexam/StandardIO/DateCalculation.class and b/bin/finalexam/StandardIO/DateCalculation.class differ diff --git a/bin/finalexam/StandardIO/DateFormatOutput.class b/bin/finalexam/StandardIO/DateFormatOutput.class index ab20d8b..47ed124 100644 Binary files a/bin/finalexam/StandardIO/DateFormatOutput.class and b/bin/finalexam/StandardIO/DateFormatOutput.class differ diff --git a/bin/finalexam/StandardIO/Encryption.class b/bin/finalexam/StandardIO/Encryption.class index 27adc83..953a95e 100644 Binary files a/bin/finalexam/StandardIO/Encryption.class and b/bin/finalexam/StandardIO/Encryption.class differ diff --git a/bin/finalexam/StandardIO/Expressions.class b/bin/finalexam/StandardIO/Expressions.class index 9428481..7ffbacf 100644 Binary files a/bin/finalexam/StandardIO/Expressions.class and b/bin/finalexam/StandardIO/Expressions.class differ diff --git a/bin/finalexam/StandardIO/FileIO.class b/bin/finalexam/StandardIO/FileIO.class index de680b8..b97c484 100644 Binary files a/bin/finalexam/StandardIO/FileIO.class and b/bin/finalexam/StandardIO/FileIO.class differ diff --git a/bin/finalexam/StandardIO/PrimeNumbers.class b/bin/finalexam/StandardIO/PrimeNumbers.class index ccdcb20..dc73aff 100644 Binary files a/bin/finalexam/StandardIO/PrimeNumbers.class and b/bin/finalexam/StandardIO/PrimeNumbers.class differ diff --git a/bin/finalexam/StandardIO/SecurePasswordSpecification.class b/bin/finalexam/StandardIO/SecurePasswordSpecification.class index 0838367..9a2ec62 100644 Binary files a/bin/finalexam/StandardIO/SecurePasswordSpecification.class and b/bin/finalexam/StandardIO/SecurePasswordSpecification.class differ diff --git a/bin/finalexam/StandardIO/StatisticsOfProducts.class b/bin/finalexam/StandardIO/StatisticsOfProducts.class index 5a4bfc7..894750c 100644 Binary files a/bin/finalexam/StandardIO/StatisticsOfProducts.class and b/bin/finalexam/StandardIO/StatisticsOfProducts.class differ diff --git a/bin/finalexam/StandardIO/StringInitialization.class b/bin/finalexam/StandardIO/StringInitialization.class index f0c4134..923d979 100644 Binary files a/bin/finalexam/StandardIO/StringInitialization.class and b/bin/finalexam/StandardIO/StringInitialization.class differ diff --git a/bin/finalexam/StandardIO/SumInReverseOrder.class b/bin/finalexam/StandardIO/SumInReverseOrder.class index 08ac167..0823f79 100644 Binary files a/bin/finalexam/StandardIO/SumInReverseOrder.class and b/bin/finalexam/StandardIO/SumInReverseOrder.class differ diff --git a/src/finalexam/Database/DataOutput.java b/src/finalexam/Database/DataOutput.java index e69de29..094ea45 100644 --- a/src/finalexam/Database/DataOutput.java +++ b/src/finalexam/Database/DataOutput.java @@ -0,0 +1,81 @@ +package finalexam.Database; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.Scanner; + +import jxl.Workbook; +import jxl.write.Label; +import jxl.write.WritableSheet; +import jxl.write.WritableWorkbook; + +public class DataOutput { + private static final String DBDRIVER = "com.mysql.cj.jdbc.Driver"; + private static final String DBURL = "jdbc:mysql://localhost:3306/xiaoshou?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT"; + + public static void main(String[] args) throws Exception { + Class.forName(DBDRIVER); + Connection conn = DriverManager.getConnection(DBURL); + PreparedStatement pstmt = null; + ResultSet rs = null; + Scanner sc = new Scanner(System.in); + System.out.println("===****超市商品管理维护===="); + System.out.println("1、导出商品信息至excel"); + System.out.println("2、导出商品信息至文本文件"); + System.out.println("3、返回主菜单"); + System.out.print("请选择(1-3):"); + int choice = sc.nextInt(); + switch (choice) { + case 1: + WritableWorkbook workbook = Workbook.createWorkbook(new File("商品导出.xls")); + WritableSheet sheet = workbook.createSheet("商品信息", 0); + sheet.addCell(new Label(0, 0, "条码")); + sheet.addCell(new Label(1, 0, "名称")); + sheet.addCell(new Label(2, 0, "单价")); + sheet.addCell(new Label(3, 0, "供应商")); + pstmt = conn.prepareStatement("SELECT * FROM t_shangping"); + rs = pstmt.executeQuery(); + int row = 1; + while (rs.next()) { + sheet.addCell(new Label(0, row, rs.getString("tiaoma"))); + sheet.addCell(new Label(1, row, rs.getString("mingcheng"))); + sheet.addCell(new Label(2, row, rs.getString("danjia"))); + sheet.addCell(new Label(3, row, rs.getString("gongyingshang"))); + row++; + } + workbook.write(); + workbook.close(); + System.out.println("成功导出" + (row - 1) + "条商品数据到excel中"); + break; + case 2: + FileWriter fw = new FileWriter("商品导出.txt"); + BufferedWriter bw = new BufferedWriter(fw); + bw.write("条码\t名称\t单价\t供应商\n"); + pstmt = conn.prepareStatement("SELECT * FROM t_shangping"); + rs = pstmt.executeQuery(); + while (rs.next()) { + bw.write(rs.getString("tiaoma") + "\t"); + bw.write(rs.getString("mingcheng") + "\t"); + bw.write(rs.getString("danjia") + "\t"); + bw.write(rs.getString("gongyingshang") + "\n"); + } + bw.close(); + fw.close(); + System.out.println("成功导出XXX条商品数据到txt中"); + break; + case 3: + break; + default: + System.out.println("无效的选择,请重新选择(1-3):"); + break; + } + rs.close(); + pstmt.close(); + conn.close(); + } +} diff --git a/src/finalexam/StandardIO/DateCalculation.java b/src/finalexam/StandardIO/DateCalculation.java index 1489676..60cf9ae 100644 --- a/src/finalexam/StandardIO/DateCalculation.java +++ b/src/finalexam/StandardIO/DateCalculation.java @@ -3,7 +3,7 @@ package finalexam.StandardIO; import java.util.Scanner; public class DateCalculation { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); String[] arr = s.split("[-]"); @@ -14,9 +14,8 @@ public class DateCalculation { if (isLeapYear(year)) days[2] = 28; int ans = day; - for (int i = 1; i < month; i++) { + for (int i = 1; i < month; i++) ans += days[i]; - } System.out.println(ans); } diff --git a/src/finalexam/StandardIO/DateFormatOutput.java b/src/finalexam/StandardIO/DateFormatOutput.java index 90231ab..b5887b5 100644 --- a/src/finalexam/StandardIO/DateFormatOutput.java +++ b/src/finalexam/StandardIO/DateFormatOutput.java @@ -3,7 +3,7 @@ package finalexam.StandardIO; import java.util.Scanner; public class DateFormatOutput { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { char[] num = { '〇', '一', '二', '三', '四', '五', '六', '七', '八', '九' }; Scanner sc = new Scanner(System.in); String s = sc.next(); diff --git a/src/finalexam/StandardIO/Encryption.java b/src/finalexam/StandardIO/Encryption.java index 6641aad..a2868f9 100644 --- a/src/finalexam/StandardIO/Encryption.java +++ b/src/finalexam/StandardIO/Encryption.java @@ -3,7 +3,7 @@ package finalexam.StandardIO; import java.util.Scanner; public class Encryption { - public static void main(String[] args) { + public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); String s = sc.nextLine(); String k = sc.nextLine(); diff --git a/src/finalexam/StandardIO/Expressions.java b/src/finalexam/StandardIO/Expressions.java index 7521d91..b400076 100644 --- a/src/finalexam/StandardIO/Expressions.java +++ b/src/finalexam/StandardIO/Expressions.java @@ -3,7 +3,7 @@ package finalexam.StandardIO; import java.util.Scanner; public class Expressions { - public static void main(String[] args) { + public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); String s = sc.nextLine(); String[] arr = s.split("[\\(\\),]"); diff --git a/src/finalexam/StandardIO/FileIO.java b/src/finalexam/StandardIO/FileIO.java index e09a62b..7b5484b 100644 --- a/src/finalexam/StandardIO/FileIO.java +++ b/src/finalexam/StandardIO/FileIO.java @@ -2,42 +2,37 @@ package finalexam.StandardIO; import java.io.File; import java.io.FileWriter; -import java.io.IOException; import java.util.Scanner; public class FileIO { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { File fQ = new File("question.txt"); File fA = new File("answer.txt"); - try { - Scanner sc = new Scanner(fQ); - FileWriter fw = new FileWriter(fA); - while (sc.hasNextLine()) { - String s = sc.nextLine(); - String[] arr = s.split("[\\(\\),]"); - double ans = 0; - switch (arr[0]) { - case "add": - ans = Double.parseDouble(arr[1]) + Double.parseDouble(arr[2]); - break; - case "sub": - ans = Double.parseDouble(arr[1]) - Double.parseDouble(arr[2]); - break; - case "max": - ans = Math.max(Double.parseDouble(arr[1]), Double.parseDouble(arr[2])); - break; - case "min": - ans = Math.min(Double.parseDouble(arr[1]), Double.parseDouble(arr[2])); - break; - case "doubleMe": - ans = Double.parseDouble(arr[1]) * 2; - break; - } - fw.write(s + "=" + ans + '\n'); + Scanner sc = new Scanner(fQ); + FileWriter fw = new FileWriter(fA); + while (sc.hasNextLine()) { + String s = sc.nextLine(); + String[] arr = s.split("[\\(\\),]"); + double ans = 0; + switch (arr[0]) { + case "add": + ans = Double.parseDouble(arr[1]) + Double.parseDouble(arr[2]); + break; + case "sub": + ans = Double.parseDouble(arr[1]) - Double.parseDouble(arr[2]); + break; + case "max": + ans = Math.max(Double.parseDouble(arr[1]), Double.parseDouble(arr[2])); + break; + case "min": + ans = Math.min(Double.parseDouble(arr[1]), Double.parseDouble(arr[2])); + break; + case "doubleMe": + ans = Double.parseDouble(arr[1]) * 2; + break; } - fw.close(); - } catch (IOException e) { - e.printStackTrace(); + fw.write(s + "=" + ans + '\n'); } + fw.close(); } } diff --git a/src/finalexam/StandardIO/PrimeNumbers.java b/src/finalexam/StandardIO/PrimeNumbers.java index 750fc21..4f3e634 100644 --- a/src/finalexam/StandardIO/PrimeNumbers.java +++ b/src/finalexam/StandardIO/PrimeNumbers.java @@ -4,14 +4,13 @@ import java.util.ArrayList; import java.util.Scanner; public class PrimeNumbers { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); ArrayList primes = new ArrayList<>(); - for (int i = 2; i < n; i++) { + for (int i = 2; i < n; i++) if (isPrime(i)) primes.add(i); - } System.out.print(primes.size() + "(分别是"); for (int i = 0; i < primes.size(); i++) { System.out.print(primes.get(i)); @@ -24,10 +23,9 @@ public class PrimeNumbers { static boolean isPrime(int n) { if (n <= 1) return false; - for (int i = 2; i <= Math.sqrt(n); i++) { + for (int i = 2; i <= Math.sqrt(n); i++) if (n % i == 0) return false; - } return true; } } diff --git a/src/finalexam/StandardIO/SecurePasswordSpecification.java b/src/finalexam/StandardIO/SecurePasswordSpecification.java index b4b740e..55b3a3e 100644 --- a/src/finalexam/StandardIO/SecurePasswordSpecification.java +++ b/src/finalexam/StandardIO/SecurePasswordSpecification.java @@ -3,7 +3,7 @@ package finalexam.StandardIO; import java.util.Scanner; public class SecurePasswordSpecification { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); String s = sc.next(); System.out.println(isSafePassword(s) ? "success" : "fail"); diff --git a/src/finalexam/StandardIO/StatisticsOfProducts.java b/src/finalexam/StandardIO/StatisticsOfProducts.java index 12a318c..b98017d 100644 --- a/src/finalexam/StandardIO/StatisticsOfProducts.java +++ b/src/finalexam/StandardIO/StatisticsOfProducts.java @@ -33,7 +33,7 @@ class Goods { } public class StatisticsOfProducts { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); Goods[] goods = new Goods[5]; double sum = 0; diff --git a/src/finalexam/StandardIO/StringInitialization.java b/src/finalexam/StandardIO/StringInitialization.java index 3f3883a..4e386f7 100644 --- a/src/finalexam/StandardIO/StringInitialization.java +++ b/src/finalexam/StandardIO/StringInitialization.java @@ -3,17 +3,16 @@ package finalexam.StandardIO; import java.util.Scanner; public class StringInitialization { - public static void main(String[] var0) { + public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); char[] c = s.toCharArray(); c[0] = Character.toUpperCase(c[0]); - for (int i = 1; i < c.length; i++) { + for (int i = 1; i < c.length; i++) if (c[i - 1] != ',' && c[i - 1] != ' ') c[i] = Character.toLowerCase(c[i]); else c[i] = Character.toUpperCase(c[i]); - } System.out.println(new String(c)); } } diff --git a/src/finalexam/StandardIO/SumInReverseOrder.java b/src/finalexam/StandardIO/SumInReverseOrder.java index eafb5fd..cdd0f5a 100644 --- a/src/finalexam/StandardIO/SumInReverseOrder.java +++ b/src/finalexam/StandardIO/SumInReverseOrder.java @@ -3,7 +3,7 @@ package finalexam.StandardIO; import java.util.Scanner; public class SumInReverseOrder { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int n1 = sc.nextInt(); int n2 = sc.nextInt();