while loop - Error in the output of my java program -
i trying java program having problem output.
here error when input information.
enter social security number:12345678
enter salary3000
please input next security numbers or -1 quit:12345666
enter salary2122
please input next security numbers or -1 quit:900000000
enter salary3000
please input next security numbers or -1 quit:-1
exception in thread "main" java.util.unknownformatconversionexception: conversion = ':'
@ java.util.formatter.checktext(formatter.java:2547)
@ java.util.formatter.parse(formatter.java:2533)
@ java.util.formatter.format(formatter.java:2469)
@ java.io.printstream.format(printstream.java:970)
@ java.io.printstream.printf(printstream.java:871)
@ salaries.output(salaries.java:57)
@ salaries.main(salaries.java:19)
and here code far..
import java.util.scanner; public class salaries {
public static void main(string[] args) { // todo auto-generated method stub scanner input = new scanner (system.in); int[] ssnumbers = new int [10]; double[] salaries = new double [10]; double[] nsalaries = new double [10]; int c; c = inputdata (ssnumbers, salaries); raise (salaries, c); output (ssnumbers, salaries, nsalaries); } public static int inputdata (int[]ssn, double[]sals){ int c = 0; scanner input = new scanner (system.in); int ssnum; system.out.print("enter social security number:"); ssnum = input.nextint(); while (ssnum != -1) //using while loop. { ssn[c] = ssnum; system.out.print("enter salary"); sals[c] = input.nextdouble(); c++; system.out.print("please input next security numbers or -1 quit:"); ssnum = input.nextint(); } return c; } public static void raise (double[] salaries, int c) { double[] salaryraise = new double [10]; (int = 0; < c; i++ ) salaryraise[i] = salaries[i]*.02; } public static void output (int[] ssnumbers, double[] salaries, double[] nsalary ) { system.out.printf("%-20s%-20s%-20s%:\n", "social security number", "salaries", "salary after raise"); (int = 0; < salaries.length; i++) system.out.printf("%d %.2f %.2f", ssnumbers[i], salaries[i], nsalary[i]); return; }
}
you have "%:" in line you'll wanna remove. (because it's not valid specifier)
system.out.printf("%-20s%-20s%-20s%:\n", "social security number", "salaries", "salary after raise");
:)
Comments
Post a Comment