当前位置: 首页 > 知识库问答 >
问题:

由于int转换放置而产生的错误

许永年
2023-03-14
   package demooo;

/*
 * GridBagLayoutDemo.java requires no other files.
 */
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.text.DefaultCaret;

public class Demooo implements ActionListener {

    final static boolean shouldFill = true;
    final static boolean shouldWeightX = true;
    final static boolean RIGHT_TO_LEFT = false;
    private final static String newline = "\n";
    protected JTextField textField;
    protected JTextArea textArea;

    public static void addComponentsToPane(Container pane) {

        if (RIGHT_TO_LEFT) {

pane.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
        }

        /*test for team names */
        //String[] teamString = {};
        String[] reffString = {"bob", "fred", "jon", "ed", "killa"};
         JLabel label;
        JLabel labelA;
        JLabel labelH;
        JLabel labelA2;
        JLabel labelH2;
        JTextField text;
        int g = 0 ;
        JButton next;
        JButton button1;
        JButton button2;
        JLabel blank;
        JLabel Head;
        JComboBox comboH;
        JComboBox comboA;
        JComboBox comboReff;
        String winner;
        Connection con = null;
        Statement st = null;
        ResultSet rs = null;
       /* int h = Integer.parseInt(homegoal.getText());
        int a = Integer.parseInt(awaygoal.getText());
        int h2 = Integer.parseInt(homegoal2.getText());
        int a2 = Integer.parseInt(awaygoal2.getText());*/

        pane.setLayout(new GridBagLayout());

        GridBagConstraints c = new GridBagConstraints();
        if (shouldFill) {
            //natural height, maximum width
            c.fill = GridBagConstraints.HORIZONTAL;
        }
        /*select home team*/

        labelH = new JLabel("Home Team");
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 0;
        c.gridy = 0;
        pane.add(labelH, c);

        comboH = new JComboBox(/*teamString*/);
        c.fill = GridBagConstraints.HORIZONTAL;
        c.weightx = 1;
        c.gridx = 0;
        c.gridy = 1;
        pane.add(comboH, c);
        /* to add blank space between teams*/

 /*cant get right yet but will try */
 /*select away team*/
        labelA = new JLabel("Away Team");
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 7;
        c.gridy = 0;
        pane.add(labelA, c);

        comboA = new JComboBox(/*teamString*/);
        c.fill = GridBagConstraints.HORIZONTAL;
        c.weightx = 1;
        c.gridx = 7;
        c.gridy = 1;
        pane.add(comboA, c);

        /*Team 1 home*/
        Head = new JLabel("Home Game Score", SwingConstants.CENTER);
        c.fill = GridBagConstraints.HORIZONTAL;
        c.ipady = 20;      //make this component tall
        c.weightx = 0.0;
        c.gridwidth = 3;
        c.gridx = 0;
        c.gridy = 3;
        pane.add(Head, c);
        Head.setFont(new Font("Serif", Font.BOLD, 18));

        /*enter score for home game*/
        labelH2 = new JLabel("Home Team Goals");
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 0;
        c.gridy = 4;
        pane.add(labelH2, c);

        JTextField homegoal = new JTextField(2);
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 0;
        c.gridy = 5;
        pane.add(homegoal, c);
int h = Integer.parseInt(homegoal.getText());
        /*ref section*/
        label = new JLabel("Referee");
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 3;
        c.gridy = 4;
        pane.add(label, c);

        comboReff = new JComboBox(reffString);
        c.fill = GridBagConstraints.HORIZONTAL;
        c.weightx = 1;
        c.gridx = 3;
        c.gridy = 5;
        pane.add(comboReff, c);

        /*other teams goals*/
        label = new JLabel("Away Team Goals");
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 7;
        c.gridy = 4;
        pane.add(label, c);

        JTextField awaygoal = new JTextField(2);
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 7;
        c.gridy = 5;
        pane.add(awaygoal, c);
        int a = Integer.parseInt(awaygoal.getText());


        /*team 2 is home team*/
        Head = new JLabel("Away Game Score", SwingConstants.CENTER);
        c.fill = GridBagConstraints.HORIZONTAL;
        c.ipady = 20;      //make this component tall
        c.weightx = 0.0;
        c.gridwidth = 3;
        c.gridx = 0;
        c.gridy = 6;
        pane.add(Head, c);
        Head.setFont(new Font("Serif", Font.BOLD, 18));

        label = new JLabel("Home Team Goals");
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 0;
        c.gridy = 8;
        pane.add(label, c);

        JTextField homegoal2 = new JTextField(2);
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 0;
        c.gridy = 9;
        pane.add(homegoal2, c);
        int h2 = Integer.parseInt(homegoal2.getText());
        /*reff */
        label = new JLabel("Referee");
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 3;
        c.gridy = 8;
        pane.add(label, c);

        comboReff = new JComboBox(reffString);
        c.fill = GridBagConstraints.HORIZONTAL;
        c.weightx = 1;
        c.gridx = 3;
        c.gridy = 9;
        pane.add(comboReff, c);


        /*next teams goals*/
        label = new JLabel("Away Team Goals");
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 7;
        c.gridy = 8;
        pane.add(label, c);

        JTextField awaygoal2 = new JTextField(2);
        if (shouldWeightX) {
            c.weightx = 0.5;
        }
        c.fill = GridBagConstraints.HORIZONTAL;
        c.gridx = 7;
        c.gridy = 9;
        pane.add(awaygoal2, c);

        int a2 = Integer.parseInt(awaygoal2.getText());


        /*match set complete*/
         button1 = new JButton("The winner of this set of matches was");
        c.fill = GridBagConstraints.HORIZONTAL;
        c.ipady = 20;      //make this component tall
        c.weightx = 2;
        c.gridwidth = 8;
        c.gridx = 0;
        c.gridy = 10;
        pane.add(button1, c);
        button1.addActionListener(new ActionListener() {

                        public void actionPerformed(int g) {
                        if (h>a){
                        g =+1;
                        }else if (a>h){
                        g =-1;}
                        else{
                        g = g;}
                        }

            @Override
            public void actionPerformed(ActionEvent ae) {
                throw new UnsupportedOperationException("Not supported 
yet."); //To change body of generated methods, choose Tools | Templates.
            }
        });

        if (g > 0){
        winner = "home";
        }
        else if (g < 0){
        winner = "away";}
        else {
        winner = "Draw";}

        label = new JLabel (winner);
        c.fill = GridBagConstraints.HORIZONTAL;
        c.ipady = 20;      //make this component tall
        c.weightx = 2;
        c.gridwidth = 8;
        c.gridx = 0;
        c.gridy = 11;
        pane.add(label, c);

        button2 = new JButton ("Next Match");
        c.fill = GridBagConstraints.HORIZONTAL;
        c.ipady = 20;      //make this component tall
        c.weightx = 2;
        c.gridwidth = 8;
        c.gridx = 0;
        c.gridy = 12;
        pane.add(button2, c);

        try {
            con = DriverManager.getConnection("jdbc:derby://localhost:1527/" 
+ "jfl", "jfl", "jfl");
            st = con.createStatement();
            String s = "SELECT Teamname,ID from JFL.TEAMS";

            rs = st.executeQuery(s);
            while (rs.next()) {
                comboH.addItem(rs.getString(1) + "  " + rs.getString(2));
                comboA.addItem(rs.getString(1) + "  " + rs.getString(2));
            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "ERROR");
        } finally {
            try {
                st.close();
                rs.close();
                con.close();
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "ERROR CLOSE");
            }
        }
    }

    /**
     * Create the GUI and show it.
     *
     * @param evt
     */
    public void actionPerformedd(ActionEvent evt) {

        String text = textField.getText();
        textArea.append(text + newline);
        textField.selectAll();

        //Make sure the new text is visible, even if there
        //was a selection in the text area.
        textArea.setCaretPosition(textArea.getDocument().getLength());
    }

    private static void createAndShowGUI() {
        //Create and set up the window.
        JFrame frame = new JFrame("Junior Football League");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JMenuBar menubar = new JMenuBar();
        frame.setJMenuBar(menubar);

        //file menu
        JMenu fileMenu = new JMenu("File");
        menubar.add(fileMenu);

        JMenuItem quitItem = new JMenuItem("Quit");
        fileMenu.add(quitItem);
        quitItem.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                //call another method to close window
                System.exit(0);
            }
        });
        JMenu helpItem = new JMenu("Teams");
        menubar.add(helpItem);

        JMenuItem subMenu = new JMenuItem("Create New Team");


    public static void main(String[] args) {
        //Schedule a job for the event-dispatching thread:
        //creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

}

共有1个答案

白修谨
2023-03-14

127号线有这个。

int h = Integer.parseInt(homegoal.getText());

异常中的以下几行告诉我,错误就在这一行,它是关于将表单字符串转换为int的。

java.lang.Integer.parseInt(Integer.java:592) at 
java.lang.Integer.parseInt(Integer.java:615) at 
demooo.Demooo.addComponentsToPane(Demooo.java:127) at 

我将查看homegoal.gettext()的值。如果它为null,则将0放入int变量中。

int h = (homegoal == null || homegoal.getText().isEmpty()? 0:Integer.parseInt(homegoal.getText());
 类似资料:
  • 最近,我在Android上完成了一个大项目,发布之前的最后一个要求是,它将在启用Proguard的情况下编译,我认为这将是该项目中最简单的部分,但事实证明,这对我来说是一段地狱般的经历。 在这个项目中,我使用了几个第三方库,至少从我目前的检查来看,它们似乎都可以很好地与我的Proguard配置配合使用。 有问题的库是JWT:JSON Web Token for Java和Android,它没有关于

  • 我想创建一个简单的3x3矩阵类,并能够通过下标操作符访问其内容。代码如下: 我希望能够访问数组的元素,无论矩阵的对象是常量还是非常量。但我从编译器中得到以下错误: 错误:从“const int*”到“int*”的转换无效[-fpermissive] 我做了一些研究,我有一个假设:也许,因为我已经将这个成员函数声明为const函数,在它的定义中,编译器将对象的所有不可变成员视为const成员(它掩盖

  • 问题内容: 将float转换为int时如何避免浮点错误。例如,下面的代码打印出来:当我受伤时,期望它打印出来。 问题答案: 您需要了解一些内容:是一个十进制数字(以十进制基数表示)。十进制中的是一个有限数字,正好是:。 通常,计算机以二进制表示形式存储数字。该数字不能用有限的二进制数表示:是以二进制表示的 无限 数(同样的原因为什么不能用有限的十进制数表示,它是一个无穷的序列:)。 但是Go(像其

  • 我的代码有问题,不知道如何纠正我收到的错误。我在包含team[index]=temp的行中遇到错误“不兼容类型:int无法转换为Player”;任何指导都将不胜感激。我对Java很陌生,这是我第一次尝试使用选择排序。我已经试着环顾四周和搜索,但在三天后仍然没有弄清楚这个错误。提前感谢!

  • 我一直在尝试编译,并玩了一圈的和数,但仍然不能弄清楚错误是什么。有什么想法吗? 标题:

  • 问题内容: 尝试在返回`CGFloat’的函数中进行算术运算,出现错误: 找不到接受提供的参数的’/’的重载 其他人看到过这种类型的问题吗? 问题答案: 这是一个问题,以转换。 在64位计算机上,定义为并且您将编译它而不会出现问题,因为和都是双精度。 在32位计算机上,是,但仍然是两倍。不幸的是,Swift中没有隐式强制转换,因此您必须显式强制转换: 文字的类型被推断。 在Swift 3中 已弃用