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.