Using Array & Loop in Java -
i want input file 0 data, 50 names , numbers. used looping , arrays hold names , numbers. think there's wrong array or loop statements.
import java.util.scanner; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.printwriter; import java.io.fileoutputstream; public class studentparty { public static void main(string[] args) { string name1; double number1; string name2; double number2; string name3; double number3; double count = 3; double total = 0; double average; string [] name = new string [50]; string [] number = new string [50]; scanner filein = null; printwriter outputstream = null; try { filein = new scanner (new fileinputstream ("studentpartyinput.txt")); outputstream = new printwriter(new fileoutputstream ("studentpartyoutput.txt")); } catch (filenotfoundexception e) { system.out.println("file not foud."); system.exit(0); } while (filein.hasnextline()) { line = filein.nextline(); count++; name1 = filein.nextline(); number1 = filein.nextdouble(); filein.nextline(); total = total + number1; } average = total / count; filein.close(); outputstream.println(); outputstream.println(name1 + " had " + (number1 - average) + " more drinks average "); outputstream.println(name2 + " had " + (number2 - average) + " more drinks average "); outputstream.println(name3 + " had " + (number3 - average) + " more drinks average "); outputstream.close(); } }
i assuming sample input looks pretty this
sample 1 120.00 sample 2 130.92 sample 3 140.34 i have modified code.. in code have used many redundant variable's name1,number1 , ... have removed array declaration's .... try this
import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.printwriter; import java.util.scanner; public class studentparty { public static void main(string[] args) { double total = 0; double average; string [] name = new string [50]; double [] number = new double [50]; scanner filein = null; printwriter outputstream = null; try { filein = new scanner (new fileinputstream ("studentpartyinput.txt")); outputstream = new printwriter(new fileoutputstream ("studentpartyoutput.txt")); } catch (filenotfoundexception e) { system.out.println("file not found."); system.exit(0); } int cnt=0; while (filein.hasnextline()) { name[cnt]=filein.nextline(); number[cnt] = double.valueof(filein.next()); total = total + number[cnt]; cnt++; if(filein.hasnextline()) filein.nextline(); } average = total / (double)cnt; filein.close(); outputstream.println(); outputstream.println(name[0] + " had " + (number[0] - average) + " more drinks average "); outputstream.println(name[1] + " had " + (number[1] - average) + " more drinks average "); outputstream.println(name[2] + " had " + (number[2] - average) + " more drinks average "); outputstream.close(); } } sample o/p expected is
sample 1 had -10.419999999999987 more drinks average sample 2 had 0.5 more drinks average sample 3 had 9.920000000000016 more drinks average
Comments
Post a Comment