import java.util.Random;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class App extends Application {
Pane paneRoot = new Pane();
VBox paneOperaciones = new VBox();
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage stage) {
// Preparación de la ventana
paneRoot.getChildren().add(paneOperaciones);
var scene = new Scene(paneRoot, 640, 480);
stage.setScene(scene);
stage.show();
// Llama a método sin parámetros ni valor de retorno
generarSumaAleatoria();
// También se puede preceder de this en las llamadas
// a cualquiera de los métodos de esta misma clase
this.generarSumaAleatoria();
// Llama a método con parámetros literales
calcularSuma(5, 2);
// Llama a método con parámetros
int num1 = 3;
int num2 = 9;
calcularSuma(num1, num2);
// Llama a método sin parámetros, con retorno
String strSuma = getSumaAleatoria();
mostrarOperacionEnPantalla(strSuma);
// Llama a método sin parámetros, con retorno que se pasa a otro método
mostrarOperacionEnPantalla(getSumaAleatoria());
// Llamada a método con parámetros y valor de retorno
// No tiene sentido hacer: getSuma(num1, num2);
int res = getSuma(num1, num2);
String strRes = num1 + " + " + num2 + " = " + res;
mostrarOperacionEnPantalla(strRes);
}
// Ejemplo de declaración de método sin parámetros ni valor de retorno
private void generarSumaAleatoria() {
Random random = new Random();
int op1 = random.nextInt(10);
int op2 = random.nextInt(10);
int resultado = op1 + op2;
String strOperacion = op1 + " + " + op2 + " = " + resultado;
mostrarOperacionEnPantalla(strOperacion);
}
// Ejemplo de declaración de método con varios parámetros y sin valor de retorno
private void calcularSuma(int op1, int op2) {
int resultado = op1 + op2;
String strOperacion = op1 + " + " + op2 + " = " + resultado;
mostrarOperacionEnPantalla(strOperacion);
}
// Ejemplo de declaración de método con un parámetro y sin valor de retorno
private void mostrarOperacionEnPantalla(String operacion) {
Label labelOperacion = new Label(operacion);
paneOperaciones.getChildren().add(labelOperacion);
}
// Ejemplo de declaración de método sin parámetros y con valor de retorno
private String getSumaAleatoria() {
Random random = new Random();
int num1 = random.nextInt(10);
int num2 = random.nextInt(10);
int suma = num1 + num2;
String strOperacion = num1 + " + " + num2 + " = " + suma;
return strOperacion;
}
// Ejemplo de declaración de método con parámetros y con valor de retorno
private int getSuma(int num1, int num2) {
int resultado = num1 + num2;
return resultado;
}
}