分享一个[开源]写代码神器AICodeConvert | AICodeTranslator | AICodeGenerator
AICodeConvert - AI代码转换器
主要包含两个功能:
1 AICodeGenerator
输入自然语言,然后AI输出代码
例如写一个Python的课程设计作业,计算器,描述计算器的组件之后,生成如下的代码:
import tkinter as tk
def calculate():
num1 = float(entry_num1.get())
num2 = float(entry_num2.get())
operator = entry_operator.get()
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
elif operator == '*':
result = num1 * num2
elif operator == '/':
result = num1 / num2
else:
result = "Invalid operator"
label_result.config(text="Result: " + str(result))
root = tk.Tk()
root.title("Calculator")
label_title = tk.Label(root, text="Calculator")
label_title.pack()
frame_inputs = tk.Frame(root)
frame_inputs.pack()
label_num1 = tk.Label(frame_inputs, text="Number 1:")
label_num1.grid(row=0, column=0)
entry_num1 = tk.Entry(frame_inputs)
entry_num1.grid(row=0, column=1)
label_operator = tk.Label(frame_inputs, text="Operator:")
label_operator.grid(row=1, column=0)
entry_operator = tk.Entry(frame_inputs)
entry_operator.grid(row=1, column=1)
label_num2 = tk.Label(frame_inputs, text="Number 2:")
label_num2.grid(row=2, column=0)
entry_num2 = tk.Entry(frame_inputs)
entry_num2.grid(row=2, column=1)
button_calculate = tk.Button(root, text="Calculate", command=calculate)
button_calculate.pack()
label_result = tk.Label(root, text="Result: ")
label_result.pack()
root.mainloop()
2 AICodeTranslator
输入代码,然后选择目标代码语言,利用AI生成目标语言的代码
支持的快捷键有:
- Java
- Python
- 几乎全部语言
例如,我们把上面的代码转为Java实现,只需要在目标语言选择Java,然后点击【Generate】按钮,生成如下代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculator {
private JFrame frame;
private JLabel labelTitle;
private JPanel panelInputs;
private JLabel labelNum1;
private JTextField entryNum1;
private JLabel labelOperator;
private JTextField entryOperator;
private JLabel labelNum2;
private JTextField entryNum2;
private JButton buttonCalculate;
private JLabel labelResult;
public Calculator() {
frame = new JFrame();
frame.setTitle("Calculator");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());
labelTitle = new JLabel("Calculator");
frame.add(labelTitle);
panelInputs = new JPanel();
panelInputs.setLayout(new GridLayout(3, 2));
labelNum1 = new JLabel("Number 1:");
panelInputs.add(labelNum1);
entryNum1 = new JTextField();
panelInputs.add(entryNum1);
labelOperator = new JLabel("Operator:");
panelInputs.add(labelOperator);
entryOperator = new JTextField();
panelInputs.add(entryOperator);
labelNum2 = new JLabel("Number 2:");
panelInputs.add(labelNum2);
entryNum2 = new JTextField();
panelInputs.add(entryNum2);
frame.add(panelInputs);
buttonCalculate = new JButton("Calculate");
buttonCalculate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
calculate();
}
});
frame.add(buttonCalculate);
labelResult = new JLabel("Result: ");
frame.add(labelResult);
frame.pack();
frame.setVisible(true);
}
private void calculate() {
double num1 = Double.parseDouble(entryNum1.getText());
double num2 = Double.parseDouble(entryNum2.getText());
String operator = entryOperator.getText();
double result;
if (operator.equals("+")) {
result = num1 + num2;
} else if (operator.equals("-")) {
result = num1 - num2;
} else if (operator.equals("*")) {
result = num1 * num2;
} else if (operator.equals("/")) {
result = num1 / num2;
} else {
result = Double.NaN;
}
labelResult.setText("Result: " + result);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Calculator();
}
});
}
}
3 AICodeExplain
输入代码,然后右侧选择【Natural Language】,可以解释这段代码
本作品采用《CC 协议》,转载必须注明作者和本文链接