import javax.swing.*; import java.text.*; public class Capital { public static void main(String[] arg) { int startYear = readStarYear(); int endYear = readEndYear(); double capital = readCapital(); double interest = readInterest(); writeTable(startYear, endYear, capital, interest); } // main private static int readStarYear() { String input = JOptionPane.showInputDialog("Ange startår: "); return Integer.parseInt(input); }//readStartYear private static int readEndYear() { String input = JOptionPane.showInputDialog("Ange slutår: "); return Integer.parseInt(input); }//readEndYear private static double readCapital() { double capital; while (true) { String input = JOptionPane.showInputDialog("Ge startkapital: "); capital = Double.parseDouble(input); if (capital > 0) break; JOptionPane.showMessageDialog(null, "Kapitalet måste vara positivt!!"); } return capital; }//readCapital private static double readInterest() { double interest; while (true) { String input = JOptionPane.showInputDialog("Ange räntesats:"); interest= Double.parseDouble(input); if (interest> 0) break; JOptionPane.showMessageDialog(null, "Räntesatsen måste vara positivt!!"); } return interest; }//readInterest private static void writeTable(int startYear, int endYear, double capital, double interest) { NumberFormat r = NumberFormat.getInstance(); r.setMaximumFractionDigits(2); String output = " År Kapital\n"; for (int year = startYear; year <= endYear; year = year + 1) { output = output + year + " " + r.format(capital) + "\n"; capital = capital * (1 + interest/100); } JOptionPane.showMessageDialog(null, output); }//writeTable } // Capital