了解我的素数计算和素数JFrame发生了什么 - java

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center。

7年前关闭。

我想弄清楚我的代码出了什么问题,并帮助我理解素数计算和素数JFrame的问题。

由于某种原因,计算只说1-100的质数是

我拿出system.exit(0);,现在我需要点击所有数字,然后退出。我希望达到的目标是得到一个列出所有质数1-100的列表。

然后,通过编码的素数计算,我需要制作素数JFrame。我有太多错误,这是我的第一个问题,其次,由于这些错误,我无法运行项目来查看它。

我已经将我的代码发布到素数计算和JFrame上。任何帮助找出发生了什么/错误的帮助将不胜感激。

*********************************************************************************
//Prime Numbers Java Swing JFrame
**********************************************************************************

 import javax.swing.*;
 import java.awt.*;
 import java.awt.event.*;


 public class ProgrammingAssignment8 extends JFrame 
 implements ActionListener 
 {

//DECLARE BUT DO NOT INSTANTIATE
private JButton calculate;
private JButton clear;
private JButton exit;

//PANELS
private JPanel jpnlMain = new JPanel();

private JPanel jpnlTop = new JPanel();
private JPanel jpnlCenter = new JPanel();
private JPanel jpnlBotton = new JPanel();

private JScrollPane scrollingResult;


//DECLARE JFRAME COMPONENTS
private JLabel jlblName, jlblMaxTest;
private JTextField jtfName, jtfMaxTest;
private JTextArea jtaName, jtaMaxNumbers;
private JButton jbutCalculate, jbutClear, jbutExit;

private CalculateButtonHandler calculateHandler;
private ClearButtonHandler clearHandler;
private ExitButtonHandler exitHandler;





/**
 * @param args
 */

//CLASS CONSTRUCTOR 
public ProgrammingAssignment8 (String sTitle) 
{       

//PREPARE THE JFRAME/WINDOW
    super(sTitle);
//SET TITLE AND SIZE
setTitle(sTitle);
setSize(400,400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//SET THE LAYOUT
jpnlMain.setLayout(new GridLayout(3,3,5,5));

 //INSTANTIATE THE JBUTTONS WITH THE PASSED CAPTION AND COLOR AND ADD TO JPANEL
//PUT INTO A METHOD FOR EFFICIENCY AND TO AVOID REPEATING ALL THE CODE
jbtnCalculate = instantiateJButton("Calculate", Color.red);
jbtnClear = instantiateJButton("Clear", Color.blue);
jbtnExit = instantiateJButton("Exit", Color.black);

//INSTANTIATE THE JLABEL COMPONENTS
jlblName = new JLabel ("");

//PREPARE THE CONTAINER
Container ca = getContentPane();
}

set visible(true);


//END CONSTRUCTOR


private JButton instantiateJButton(String, sInCaption, Color inColor)
{
JButton jbtnButton = new JButton(sInCaption);
jbtnButton.setActionCommand(sInCaption);
jbtnButton.addActionListener(this);
jbtnButton.setForeground(inColor);
jbtnButton.setFont(fontChosenFont);
jpnlMain.add(jbutnButton);
return jbtnButton;

//END INSTANTIATE JBUTTON

//CLASS EVENT HANDLER   
public void actionPerformed(java.awt.event.ActionEvent e)

{
    //FIND OUT WHICH BUTTON WAS PRESSED BY USING THE ACTION COMMAND VALUE
    String sActionCommand = e.getActionCommand();

    //FROM THE ACTIONEVENT OBJECT, GET AN INSTANCE OF THE JBUTTON THAT WAS PRESSED
    JButton jbtnSource = (JButton) e.getSource();

    jbtnSource.setEnabled(false);

    //LET THE USER KNOW WHAT BUTTON WAS CLICKED
    JOptionPane.showMessageDialog(null,  "You pressed the "" sActionCommand + " button", this.getTitle(), JOptionPane.INFORMATION_MESSAGE);
}

//END ACTIONPERFORMED (java.awt.event.ActionEvent e)

//EXECUTION STARTING POINT

public static void main(String[] args)
{
    ProgrammingAssignment8 = new ProgrammingAssignment8("Instantiates with a Method");

}
//END main(String[] args)


}
//END ProgrammingAssignment8 CLASS


***********************************************************************************
PRIME NUMBERS CALCULATIONS
***********************************************************************************

import javax.swing.JOptionPane;
public class ProgrammingAssignment7 
{

/**
 * @param args
 * @return 
 */
public static void main(String[] args) 
{
    //Scanner Scan = new Scanner (System.in);
    // TODO Auto-generated method stub

    //DECLARE VARIABLES
    int x = 1;
    int i = 1;
    int iNumber = 1;
    boolean bNotPrime = false;
    boolean bIsPrime = true;
    int iNumberToTest;
    int iPrimeCheck;
    int iCounter;
    int iResult = 1;
    int iFact = 1;
    int iLimit = 100;
    String OutputStr = null;





    System.out.println("Prime numbers between 1 and " + iLimit);

    //loop through the numbers one by one
    for(i=1; i < 100; i++)
    {

            bIsPrime = true;

            //check to see if the number is prime
            for(int j = 2; j < i ; j++){

                    if(i % j == 0){
                            bIsPrime = false;
                            break;
                    }
            }
            // print the number
            if(bIsPrime)

                OutputStr = "The Prime Numbers of 1 - 100 are: " + i + "\n";

                JOptionPane.showMessageDialog(null, OutputStr, "PRIME NUMBERS", JOptionPane.INFORMATION_MESSAGE);
                   //System.out.print(i + "\n" );






    //LISTS NUMBERS 1 THROUGH 100, INITIALIZE INTEGER NAMED I, IF IT IS LESS THAN OR EQUAL TO 100 THEN ADD ONE TO THE LOOP



    /* for (int i=1; i<=100; i++)
    {
        System.out.println(i);
    }



    /* iNumber = 7;

    for (iNumber = 1; iNumber <= 100; iNumber++)
        iResult = iNumber / 1;
    System.out.println(iResult);

    /* for ( iNumber = 2; iNumber <= 100; iNumber++ )
    {
      if ( iNumber % iNumber == 0 )
      {
        bIsPrime = false;
    break;

      }
    }

    return bIsPrime;
}

*/





    /* iNumber = 1; 
    while (iNumber < 100) iNumber++; 
    { 
        System.out.print(iNumber + " ");
        System.out.println();


        for (iNumber = iNumber - 1; iNumber > 2; iNumber++) 
        { //divides the number by each number less than the number itself and also greater than 1 (because 1 is a factor of every number, and every number is a factor of itself)
            if (iNumber % iNumber != 0) 
                System.out.println(iNumber + " is a prime number.");




            { //else if the number is evenly divisible by a number other than itself and 1 (we weeded out those cases in the above for statement), then it sets the boolean to be true, and breaks the for loop
                bNotPrime = false;
                iNumber = 1;
            }

        }

        if (bIsPrime = true) 
        { //if the number is not not a prime, then it prints the number and the for loop moves on 

        }

        else if (bNotPrime = false)
        { //otherwise the for loop moves on
            System.out.println(iNumber + " is not a prime number.");

            */              


}
}
}

参考方案

set visible(true);在构造函数之外,并且不是有效的方法名称,它应该是setVisible(true);,向上移动,使其出现在当前上方的}之前...
private JButton instantiateJButton(String, sInCaption, Color inColor)不是有效的方法签名,您在,后面添加了一个String,它不需要是它,应该是private JButton instantiateJButton(String sInCaption, Color inColor)
JOptionPane.showMessageDialog(null, "You pressed the "" sActionCommand + " button", this.getTitle(), JOptionPane.INFORMATION_MESSAGE);缺少+,并且有太多"。我认为应该是JOptionPane.showMessageDialog(null, "You pressed the " + sActionCommand + " button", this.getTitle(), JOptionPane.INFORMATION_MESSAGE);
ProgrammingAssignment8 = new ProgrammingAssignment8("Instantiates with a Method");不是有效的分配,您实际上没有将值分配给任何东西...类似ProgrammingAssignment8 assignment = new ProgrammingAssignment8("Instantiates with a Method");的东西可以解决这个问题。

以下不是有效的评论...

***********************************************************************************
PRIME NUMBERS CALCULATIONS
***********************************************************************************

这是...

/***********************************************************************************
PRIME NUMBERS CALCULATIONS
***********************************************************************************/

我没有对CalculateButtonHandlerClearButtonHandlerExitButtonHandlerjbtnCalculatejbtnClearjbtnExitfontChosenFont的定义,因此我无可奉告,不用说,直到它们生效写...

Java-搜索字符串数组中的字符串 - java

在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…

Java RegEx中的单词边界\ b - java

我在使用\b作为Java Regex中的单词定界符时遇到困难。对于text = "/* sql statement */ INSERT INTO someTable"; Pattern.compile("(?i)\binsert\b");找不到匹配项Pattern insPtrn = Pattern.compile(&…

Java Double与BigDecimal - java

我正在查看一些使用双精度变量来存储(360-359.9998779296875)结果为0.0001220703125的代码。 double变量将其存储为-1.220703125E-4。当我使用BigDecimal时,其存储为0.0001220703125。为什么将它双重存储为-1.220703125E-4? 参考方案 我不会在这里提及精度问题,而只会提及数字…

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

Java-向Servlet动态添加URL模式 - java

是否可以在运行时动态地将URL模式添加到Servlet?例如,当Servlet启动时,扫描文件夹中的注释,然后将这些URL模式注入到Servlet中?提供更多清晰度-在Servlet的init文件中,我要执行此操作(伪代码)// scan all the files in the package my.project.services // find all…