「java识别名片」荣耀手机名片识别
本篇文章给大家谈谈java识别名片,以及荣耀手机名片识别对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java根据ocr识别名片,谁有java处理图片的代码,要效果好一点、识别效率高的、
云脉OCR SDK开发者平台上有提供名片识别API接口,支持Java、C++、C、object pascal及objective-C等多种语言,识别速度快,平均识别时间少于0.6秒,识别率高,字符识别率97.37%,用户登录后即可自主下载接口.....
java生成二维码名片,内容太大,转码怎么实现
Java中字符串转码,根据实际运用的环境有以下三种方式 使用Java.lang.String这是最常用的方法,先用对应编码获取字节,然后重新构造新编码,示例代码如下: String s = "清山"; byte[] b = s.getBytes("utf-吧");//编码 String sa = new String(b, "gb二三一二");//解码:用什么字符集编码就用什么字符集解码 java.io.InputStreamReader/OutputStreamWriter:桥转换读写文件的应用中,可以使用这种方式,直接在IO流构造中转换,示例代码如下: InputStream is = new FileInputStream("C:/项目进度跟踪.txt");//文件读取 InputStreamReader isr = new InputStreamReader(is, "utf-吧");//解码 OutputStream os = new FileOutputStream("C:/项目进度跟踪_gb二三一二.txt");//文件输出 OutputStreamWriter osw = new OutputStreamWriter(os, "gb二三一二");//开始编码 java.nio.Charset使用nio中的Charset转换字符,示例代码如下: Charset inSet = Charset.forName("utf-吧"); // 解码字符集 Charset outSet = Charset.forName("gb二三一二"); // 编码字符集 CharsetDecoder de = inSet.newDecoder(); // 解码器 CharsetEncoder en = outSet.newEncoder();// 编
java题目,io流问题
我这里有一个简单的学生管理系统,你只需要把Student学生类修改成名片类就可以了。你需要新建立一个java文件名为HW4.java,复制粘贴以下代码,编译运行就可以了。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
class Student implements ComparableStudent, Serializable{
/**
* Serializable UID: ensures serialize/de-serialize process will be successful.
*/
private static final long serialVersionUID = -3515442620523776933L;
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private int number;
private int age;
private double weight;
private String name;
public Student(int number, int age, double weight, String name) {
this.number = number;
this.age = age;
this.weight = weight;
this.name = name;
}
@Override
public int compareTo(Student o) {
if (this.age == o.age) {
return (int)(this.weight - o.weight);
}
return this.age - o.age;
}
}
class StudentSortByAge implements ComparatorStudent {
@Override
public int compare(Student o1, Student o2) {
return o1.getAge() - o2.getAge();
}
}
class StudentSortByWeight implements ComparatorStudent {
@Override
public int compare(Student o1, Student o2) {
return (int)(o1.getWeight() - o2.getWeight());
}
}
public class HW4 {
//passing one and only one instance of scanner instance reduce complexity of program.
public static void main(String[] args) {
System.out.println("\nWelcome to the System, Choose options below: ");
printPrompt();
Student[] students = null;
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextInt()) {
switch (scanner.nextInt()) {
case 1:
System.out.println("Print Student Information");
if (students == null) {
System.out.println("Please Initilise N students first");
} else {
printStudents(students);
}
printPrompt();
break;
case 2:
System.out.println("Enter numebr of students you want to create: ");
int number = scanner.nextInt();
students = initilise(number, scanner);
printPrompt();
break;
case 3:
System.out.println("Add a new student");
printPrompt();
if (students == null) {
System.out.println("Please Initilise N students first");
} else {
int newLength = students.length + 1;
students = Arrays.copyOf(students, newLength);
students[newLength - 1] = createStudent(scanner);
System.out.println("New student has been added.");
printPrompt();
}
break;
case 4:
System.out.println("Sorting by Age, Weight in Asce order");
if (students == null) {
System.out.println("Please Initilise N students first");
} else {
Student[] sortedStudents = students;
Arrays.sort(sortedStudents);
printStudents(sortedStudents);
}
break;
case 5:
System.out.println("Calcaulte Min, Max, Ave of Age and Weight");
if (students == null) {
System.out.println("Please Initilise N students first");
} else {
Student[] sortedAgeStudents = students;
Arrays.sort(sortedAgeStudents, new StudentSortByAge());
Student[] sortedWeightStudents = students;
Arrays.sort(sortedWeightStudents, new StudentSortByWeight());
int averageAge = 0;
double averageWeight = 0.0;
for (Student student : sortedAgeStudents) {
averageAge += student.getAge();
averageWeight += student.getWeight();
}
averageAge = averageAge / sortedAgeStudents.length;
averageWeight = averageWeight / sortedWeightStudents.length;
System.out.printf("Min Age: %d, Max Age: %d, Ave Age: %d\n", sortedAgeStudents[0].getAge(), sortedAgeStudents[sortedAgeStudents.length - 1].getAge(), averageAge);
System.out.printf("Min Weight: %f, Max Weight: %f, Ave Weight: %f\n", sortedWeightStudents[0].getWeight(), sortedWeightStudents[sortedWeightStudents.length - 1].getWeight(), averageWeight);
}
break;
case 6:
System.out.println("Write Student data into file");
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("studentsData"), true))) {
oos.writeObject(students);
printPrompt();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case 7:
System.out.println("Read studentData from file");
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("studentsData")))) {
students = (Student[]) (ois.readObject());
printPrompt();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
default:
scanner.close();
System.out.println("Quit");
break;
}
}
}
public static void printPrompt() {
System.out.println("1: Display current students");
System.out.println("2: Initilise N students");
System.out.println("3: Add new student");
System.out.println("4: Sorting by Age, Weight in Asce order");
System.out.println("5: Calcaulte Min, Max, Ave of Age and Weight");
System.out.println("6: Write Student data into file");
System.out.println("7: Read studentData from file");
}
public static Student[] initilise(int n, Scanner scanner) {
Student[] students = new Student[n];
for (int i = 0; i n; i ++) {
students[i] = createStudent(scanner);
}
System.out.println("Initilisation of students complete.");
return students;
}
public static void printStudents(Student[] students) {
for (Student student : students) {
System.out.printf("Student: %s, Number: %d, Age: %d, Weight: %f\n", student.getName(), student.getNumber(), student.getAge(), student.getWeight());
}
}
public static void printSortedStudents(Student[] students) {
for (Student student : students) {
System.out.printf("Age: %d, Weight: %f, Student: %s, Number: %d\n", student.getAge(), student.getWeight(), student.getName(), student.getNumber());
}
}
public static Student createStudent(Scanner scanner) {
int studentNumber = 0, studentAge = 0;
double studentWeight = 0.0;
String studentName = null;
System.out.println("Enter Student Number: ");
while(scanner.hasNext()) {
studentNumber = scanner.nextInt();
System.out.println("Enter Student Age: ");
studentAge = scanner.nextInt();
System.out.println("Enter Student Weight: ");
//nextDouble仅仅读取double的值,在double值后的'\n'将会被nextLine()所读取,所以读取studentName时需要再读取一次nextLine()
studentWeight = scanner.nextDouble();
System.out.println("Enter Student Name: ");
scanner.nextLine();
studentName = scanner.nextLine();
break;
}
return new Student(studentNumber, studentAge, studentWeight, studentName);
}
}
java识别名片的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于荣耀手机名片识别、java识别名片的信息别忘了在本站进行查找喔。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。