Muodostetaan lukujonoja. Lukujonoja on neljää eri tyyppiä.
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package javafx_lukujono; import javafx.application.Application; import static javafx.application.Application.launch; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.layout.StackPane; import javafx.scene.layout.TilePane; import javafx.scene.text.Text; import javafx.stage.Stage; /** * * @author jonir */ public class JavaFX_lukujono extends Application { double luku = 0; double luku_2 = 0; public void start(Stage stage){ //Luodaan tekstilaatikot. int koko = 8; TextField[] tekstit = new TextField[koko]; TilePane r = new TilePane(); for (int x = 0; x < koko; x++){ TextField teksti = new TextField(); tekstit[x] = teksti; r.getChildren().add(teksti); } Button nappain = new Button("Tulos"); Button nappain_2 = new Button("Tyhjennä"); r.getChildren().add(nappain); r.getChildren().add(nappain_2); EventHandler<ActionEvent> event = (ActionEvent e) -> { //Katsotaan lukujonon pituus. int i = 0; for (;!tekstit[i].getText().equals("") && i < koko; i++){ System.out.println(""); } //Katsotaan, minkä tyyppinen lukujono on. boolean onko_nelio = true; boolean onko_tulo = true; boolean onko_lisays = true; boolean onko_lisays_tupla = true; if (i < 2){ onko_tulo = false; onko_lisays = false; onko_nelio = false; onko_lisays_tupla = false; } else { //Tallennetaan alkutiedot. String mjn = ""; String mjn_2 = ""; mjn = tekstit[0].getText(); mjn_2 = tekstit[1].getText(); luku = Double.valueOf(mjn); luku_2 = Double.valueOf(mjn_2); } int j = 1; double edellinen = luku_2/luku; double edellinen_s = luku_2-luku; double edellinen_st = luku_2-luku; for (; j < i; j++){ //Tarkistetaan, onko kelvollinen lukujono. String mjn = ""; String mjn_2 = ""; mjn = tekstit[j-1].getText(); mjn_2 = tekstit[j].getText(); luku = Double.valueOf(mjn); luku_2 = Double.valueOf(mjn_2); //Poistetaan lukujonon mahdollisuus. if (edellinen != luku_2/luku){ onko_tulo = false; } if (edellinen_s != luku_2-luku){ onko_lisays = false; } if (edellinen_st != (luku_2-luku)){ onko_lisays_tupla = false; } edellinen_st *= 2; if (luku != Math.sqrt(luku_2)){ onko_nelio = false; } } //Täydennetään lukujono katsomalla lukujonon tyyppi. for (int x = i; x < 8; x++){ if (onko_tulo == true){ //Tuplaus String mjn_2 = ""; mjn_2 = tekstit[x-1].getText(); luku_2 = Double.valueOf(mjn_2); double tulos = luku_2*edellinen; tekstit[x].setText(String.valueOf(tulos)); } else if (onko_lisays == true){ //Lisäys String mjn_2 = ""; mjn_2 = tekstit[x-1].getText(); luku_2 = Double.valueOf(mjn_2); double tulos = luku_2+edellinen_s; tekstit[x].setText(String.valueOf(tulos)); } else if (onko_lisays_tupla == true){ //Summa tuplautuu. String mjn_2 =""; mjn_2 = tekstit[x-1].getText(); luku_2 = Double.valueOf(mjn_2); double tulos = luku_2+edellinen_st; edellinen_st*=2; tekstit[x].setText(String.valueOf(tulos)); } else if (onko_nelio == true){ //Neliö String mjn_2 = ""; mjn_2 = tekstit[x-1].getText(); luku_2 = Double.valueOf(mjn_2); double tulos = Math.pow(luku_2,2); tekstit[x].setText(String.valueOf(tulos)); } } }; EventHandler<ActionEvent> event_2 = (ActionEvent e) -> { //Tyhjennetään. for (int x = 0; x < koko; x++){ tekstit[x].setText(""); } }; nappain.setOnAction(event); nappain_2.setOnAction(event_2); Scene scene = new Scene(r,200,200); stage.setTitle("Ohjelma"); stage.setScene(scene); stage.show(); } public static void main(String[] args){ launch(args); } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.