java
java.util.IllegalFormatConversionException: d != java.lang.String
I have problem when print output list of people by using ArrayList package data; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.Scanner; public class Manager { List<Person> p = new ArrayList(); Scanner sc = new Scanner(System.in); public void addStudent() { String id; String name; int yob; double point1; double point2; System.out.println("Input student id:"); id = sc.nextLine(); System.out.println("Input student name:"); name = sc.nextLine(); System.out.println("Input yob:"); yob = Integer.parseInt(sc.nextLine()); System.out.println("Input point 1:"); point1 = Double.parseDouble(sc.nextLine()); System.out.println("Input point 2:"); point2 = Double.parseDouble(sc.nextLine()); p.add(new Student(id,name,yob,point1,point2)); } public void addEmployee() { String id; String name; int yob; double salaryRatio; double salary; System.out.println("Input employee id:"); id = sc.nextLine(); System.out.println("Input employee name:"); name = sc.nextLine(); System.out.println("Input employee yob:"); yob = Integer.parseInt(sc.nextLine()); System.out.println("Input salary ratio:"); salaryRatio = Double.parseDouble(sc.nextLine()); System.out.println("Input salary:"); salary = Double.parseDouble(sc.nextLine()); p.add(new Employee(id, name, yob,salaryRatio, salary)); } public void addCustomer() { String id; String name; int yob; String companyName; double bill; System.out.println("Input customer id:"); id = sc.nextLine(); System.out.println("Input customer name:"); name = sc.nextLine(); System.out.println("Input customer yob:"); yob = Integer.parseInt(sc.nextLine()); System.out.println("Input compnay name:"); companyName = sc.nextLine(); System.out.println("Input bill:"); bill = Double.parseDouble(sc.nextLine()); p.add(new Customer(id,name,yob,companyName,bill)); } public void addWho() { int choice; do { System.out.println("1.Add Student"); System.out.println("2.Add Employee"); System.out.println("3.Add Customer"); System.out.println("4.Back to menu"); System.out.println("=============="); System.out.println("Choice:"); choice = Integer.parseInt(sc.nextLine()); switch(choice) { case 1: addStudent(); break; case 2: addEmployee(); break; case 3: addCustomer(); break; case 4: break; } } while(choice != 4); } public void printPersonById() { Collections.sort(p, Comparator.comparing(Person::getId)); for (int i = 0; i < p.size(); i++) { System.out.println(p.get(i)); } } Student,Employee, and Customer are sub classes of class Person.When I try to print list,it has an error: Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.String How can I fix it?
Try this in your code: System.out.println("Input yob:"); yob = sc.nextInt(); System.out.println("Input point 1:"); point1 =sc.nextDouble(); System.out.println("Input point 2:"); point2 = sc.nextDouble(); p.add(new Student(id,name,yob,point1,point2));
use System.out.println(p.get(i).someMethodOrVariableOfPerson); instead of System.out.println(p.get(i)); like below public void printPersonById() { Collections.sort(p, Comparator.comparing(Person::getId)); for (int i = 0; i < p.size(); i++) { System.out.println("id :"+p.get(i).id); System.out.println("name :"+p.get(i).name); } } you can not directly print Person class object in out.println() method. out.println() allow only string value
Related Links
Swagger in my spring boot application
Android Studio : List with items (objects)
Change the wsdl:import location
What are permissions required to call(launch) other apps like whatsapp in my case from our app
how to get nested column from json file using apache spark in java [closed]
calling multiple Oracle stored procedures from Java
Follow up to: Using JSch to SFTP when one must also switch user
What is the command for the solr 4.10.1 to be run in SOLRCLOUD mode through java code
Download a file from URL with java
Active MQ concurrency for different source systems and single consumer
“java.sql.SQLException: I/O Error: Connection reset” in linux server [duplicate]
Issue with java8 lambda expression and foreach
PaintComponent() not called despite setPreferredSize of JPanel
Where in the CoreNLP code are the Penn Treebank part-of-speech symbols themselves actually represented?
Google Direction API - Get travel time for all transportations
JavaFX 8 DatePicker month-year-pane modify