簡體   English   中英

意外類型所需變量找到值

[英]Unexpected type required variable found value

public class example
{
    public ArrayList<Integer> ToFill = new ArrayList<>();

    public void Alter(int Value , int Position)
    { 
      ToFill.get(Position) = Value ;  // this line has an error 
    }
}

由於某種原因,這段代碼給出了編譯錯誤,有人能解釋為什么嗎?

ToFill.get(Position)返回一個值,其中賦值的左側必須是一個變量。 相反,使用set(index, element)如下:

ToFill.set(Position, Value);

但是,您所做的只有在使用數組時才有效,例如:

Integer[] array = ...
array[Position] = Value;

作為旁注,請始終使用 Java 命名約定:

  • toFill而不是ToFill
  • alter而不是Alter
  • position而不是Position
  • value而不是Value
@FXML
    private void handleButtonAction(ActionEvent event) {
        System.out.println("You clicked me!");
        label.setText("Hellow Word!");

            if (event.getSource() = btnInsert) {  //ERROR
                insertRecors();
            }
package operator;

import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.stage.Stage;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.ResourceBundle;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;

public class Pyti implements Initializable {

    private Label label;

    //внести значение
    @FXML
    private TextField tfId;

    @FXML
    private TextField tfTitle;

    //таблица
    @FXML
    private TableView<Books> tvBooks;

    @FXML
    private TableColumn<Books, Integer> colId;

    @FXML
    private TableColumn<Books, String> colTitle;

    ///
    @FXML
    private Button behaind;

    @FXML
    private Button glavnaia;
    ///

    @FXML
    private Button btnInsert;

    @FXML
    private Button btnUpdate;

    @FXML
    private Button btnDelete;

    @FXML
    private void handleButtonAction(ActionEvent event) {
        System.out.println("You clicked me!");
        label.setText("Hellow Word!");

            if (event.getSource() = btnInsert) {
                insertRecors();
            }

    }

    @Override
    public void initialize(URL url, ResourceBundle rd) {
        {
            showBooks();
        }
        glavnaia.setOnAction(event -> {
            openNewScene("/vhod.fxml");
        });
        behaind.setOnAction(event -> {
            openNewScene("/operator.fxml");
        });
    }

    private void openNewScene(String window) {

        glavnaia.getScene().getWindow().hide();

        FXMLLoader loader = new FXMLLoader();
        loader.setLocation(getClass().getResource(window));

        try {
            loader.load();
        } catch (IOException e) {
            e.printStackTrace();
        }

        Parent root = loader.getRoot();
        Stage stage = new Stage();
        stage.setScene(new Scene(root));
        stage.show();
    }

    public Connection getConnection() {
        Connection conn;
        try {
            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mysor", "root", "12345");
            return conn;
        } catch (Exception ex) {
            System.out.println("Error: " + ex.getMessage());
            return null;
        }
    }

    public ObservableList<Books> getBooksList() {
        ObservableList<Books> bookList = FXCollections.observableArrayList();
        Connection conn = getConnection();
        String query = "SELECT * FROM books";
        Statement st;
        ResultSet rs;

        try {
            st = conn.createStatement();
            rs = st.executeQuery(query);
            Books books;
            while (rs.next()) {
                books = new Books(rs.getInt("id"), rs.getString("title"));
                bookList.add(books);
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return bookList;
    }

    public void showBooks() {
        ObservableList<Books> list = getBooksList();

        colId.setCellValueFactory(new PropertyValueFactory<Books, Integer>("id"));
        colTitle.setCellValueFactory(new PropertyValueFactory<Books, String>("title"));

        tvBooks.setItems(list);
    }

    private void insertRecors() throws SQLException {
        String query = "INCERT INTO books VALUES (" + tfId.getText() + "," + tfTitle.getText() + ")";
        executeQuery(query);
        showBooks();
    }

    private void executeQuery(String query) throws SQLException {
        Connection conn = getConnection();
        Statement st;
        try {
            st = conn.createStatement();
            st.executeUpdate(query);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM