@Test public void testClasserParAire() throws Exception { ListeFormes listeFormes = new ListeFormes(); ClasseurFormes classeur; listeFormes.ajouterForme(new Rectangle(10, 20, 30, 50, 13)); // carre listeFormes.ajouterForme(new Ovale(10, 20, 30, 14)); // cercle a=3600 listeFormes.ajouterForme(new Ligne(10, 20, 30, 40, 45)); // ligne listeFormes.ajouterForme(new Rectangle(30, 20, 50, 90, 12)); // rectangle listeFormes.ajouterForme(new Ovale(40, 30, 10, 20, 34)); // ovale a=800 classeur = new ClasseurFormes(listeFormes); listeFormes = classeur.getListeFormes(); classeur.classerParAire(true); listeFormes.premiere(); assert listeFormes.getNoeudCourant().getForme().getAire() == (int) Math.sqrt(20 * 20 + 20 * 20) && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 45; listeFormes.suivant(); assert listeFormes.getNoeudCourant().getForme().getAire() == 600 && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 13; listeFormes.suivant(); assert listeFormes.getNoeudCourant().getForme().getAire() == (int) (Math.PI * 20 * 10) && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 34; listeFormes.suivant(); assert listeFormes.getNoeudCourant().getForme().getAire() == 1400 && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 12; listeFormes.suivant(); assert listeFormes.getNoeudCourant().getForme().getAire() == (int) (Math.PI * 30 * 30) && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 14; classeur.classerParAire(false); listeFormes.premiere(); assert listeFormes.getNoeudCourant().getForme().getAire() == (int) (Math.PI * 30 * 30) && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 14; listeFormes.suivant(); assert listeFormes.getNoeudCourant().getForme().getAire() == 1400 && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 12; listeFormes.suivant(); assert listeFormes.getNoeudCourant().getForme().getAire() == (int) (Math.PI * 20 * 10) && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 34; listeFormes.suivant(); assert listeFormes.getNoeudCourant().getForme().getAire() == 600 && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 13; listeFormes.suivant(); assert listeFormes.getNoeudCourant().getForme().getAire() == (int) Math.sqrt(20 * 20 + 20 * 20) && listeFormes.getNoeudCourant().getForme().getNumeroSequence() == 45; }
public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ArrayList<Integer> srcList = new ArrayList<Integer>(); ArrayList<Integer> countList = new ArrayList<Integer>(); while (scanner.hasNextInt()) { int src = scanner.nextInt(); int count = scanner.nextInt(); srcList.add(src); countList.add(count); } DecimalFormat format = new DecimalFormat(".00"); for (int i = 0; i < srcList.size(); i++) { double srcDbl = srcList.get(i); double sum = 0; for (int j = 0; j < countList.get(i); j++) { sum += srcDbl; srcDbl = Math.sqrt(srcDbl); } System.out.println(format.format(sum)); } scanner.close(); }