簡體   English   中英

比較迭代方法和遞歸方法時,如何計算方法的“計數”或迭代或調用?

[英]How can i count the “count” or iteration or Calls of a method when comparing iterative and recursive methods.?

我想寫一個程序來按順序計算數字。 並計算它被調用的次數。 我既不選擇選擇隱式/遞歸單選按鈕也不知道如何在方法之間進行切換。 我可以在主體中僅使用if語句嗎? 我注釋掉了一些舊錯誤,所以請忽略注釋

類型為Abstract Button的方法addActionListener(ActionListener)不適用於參數(Sequence)LINE33

令牌上的語法錯誤,請刪除這些令牌。LINE17-我很確定我需要在Actionlistener上使用它

類型不匹配:無法從JTextField轉換為double。LINE46

令牌“ double”的語法錯誤,@預期第49行

     package sequence;

import java.awt.*;
import java.awt.event.*;
import java.io.IOException;

import javax.swing.*;

public class Sequence extends JFrame implements ActionsListener{
private static final double function=0;
private JTextField number=new JTextField(20),result=new JTextField(20),efficiency=new JTextField(20);
private static JRadioButton iterative= new JRadioButton("Iterative");JRadioButton recursive= new JRadioButton("Recursive");
private JButton compute = new JButton("Compute");


public Sequence(){
super (“Function Efficiency”);
setSize(350,250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPane = getContentPane();
contentPane.setLayout(new GridLayout(6,2));
//add(new JLabel("Iterative Method"));add(form1);
ButtonGroup group = new ButtonGroup();
group.add(iterative);
group.add(recursive);

//add(new JLabel("Recursive Method"));add(form2);
add(new JLabel("Enter N"));add(number);
add(new JLabel(""));add(compute);
add(new JLabel("Result: "));add(result);
add(new JLabel("Efficiency :"));add(efficiency);
efficiency.setEditable(false);
compute.addActionListener(this);
}
public void actionPerformed(ActionEvent event){
result.setText(result.getText());
efficiency.setText(number.getText());
//double efficiency=0;
}
private   double  iterativemethod (){number.getText();
if  (iterative.isSelected()) {
for(double i=1;i<=0;i++)
{
double result=Double.parseDouble(number.getText())*2+Double.parseDouble(number.getText());
}
return result;
}

private static  double  recursivemethod (){
    double number1=number.getText();
if (number1<=1)
return number1;
return recursivemethod(number-1);
}

}


public static void main(String[] args) {

    Sequence frame = new Sequence();
frame.setVisible(true);
if  (iterative.isSelected()) {

}
}

}
  • 您需要將字符串值解析為double
  • 響應方法需要缺少類型為double的參數

private static  double  recursivemethod (double number){ // Add argument
    double number1=Double.pareseDouble(number.getText()); // Parse Double
    if (number1<=1)
       return number1;
    return recursivemethod(number-1);
}

暫無
暫無

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

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