Compare commits

...

2 Commits

Author SHA1 Message Date
212206314 1ea76fef40 yy
1 month ago
212206314 bd1029dec6 yy
1 month ago

3
.idea/.gitignore vendored

@ -0,0 +1,3 @@
# 默认忽略的文件
/shelf/
/workspace.xml

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="openjdk-22" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/Decimal-conversion.iml" filepath="$PROJECT_DIR$/.idea/Decimal-conversion.iml" />
</modules>
</component>
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

@ -0,0 +1,103 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class BaseConverterGUI extends JFrame implements ActionListener {
private JTextField inputField;
private JTextField sourceBaseField;
private JTextField targetBaseField;
private JButton convertButton;
private JLabel resultLabel;
public BaseConverterGUI() {
setTitle("基数转换器");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
// 输入框
inputField = new JTextField(10);
add(new JLabel("输入数值:"));
add(inputField);
// 源基数输入框
sourceBaseField = new JTextField(5);
add(new JLabel("源基数:"));
add(sourceBaseField);
// 目标基数输入框
targetBaseField = new JTextField(5);
add(new JLabel("目标基数:"));
add(targetBaseField);
// 转换按钮
convertButton = new JButton("转换");
convertButton.addActionListener(this);
add(convertButton);
// 结果标签
resultLabel = new JLabel("结果:");
add(resultLabel);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == convertButton) {
String numStr = inputField.getText();
int sourceBase = Integer.parseInt(sourceBaseField.getText());
int targetBase = Integer.parseInt(targetBaseField.getText());
try {
String convertedNum = convertBase(numStr, sourceBase, targetBase);
resultLabel.setText("转换结果: " + convertedNum + " (基数 " + targetBase + ")");
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(this, "输入无效,请检查输入。");
}
}
}
private String convertBase(String numStr, int sourceBase, int targetBase) {
int decimal = convertToDecimal(numStr, sourceBase);
return convertFromDecimal(decimal, targetBase);
}
private int convertToDecimal(String numStr, int base) {
return Integer.parseInt(numStr, base);
}
private String convertFromDecimal(int decimal, int base) {
if (base < 2 || base > 16) {
throw new IllegalArgumentException("基数必须在2到16之间");
}
StringBuilder result = new StringBuilder();
boolean isNegative = decimal < 0;
decimal = Math.abs(decimal);
while (decimal > 0) {
int remainder = decimal % base;
if (remainder < 10) {
result.append(remainder);
} else {
result.append((char) ('A' + remainder - 10)); // Convert to A-F for bases > 10
}
decimal /= base;
}
if (result.length() == 0) {
return "0";
}
if (isNegative) {
result.append('-');
}
return result.reverse().toString();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> new BaseConverterGUI());
}
}

@ -0,0 +1,3 @@
# 默认忽略的文件
/shelf/
/workspace.xml

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="openjdk-22" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/Decimal-conversion.iml" filepath="$PROJECT_DIR$/.idea/Decimal-conversion.iml" />
</modules>
</component>
</project>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>基数转换器</title>
</head>
<body>
<h1>基数转换器</h1>
<form id="baseConverterForm">
<label for="sourceBase">源基数 (2-16):</label>
<input type="number" id="sourceBase" name="sourceBase" min="2" max="16" required>
<br><br>
<label for="valueToConvert">要转换的值:</label>
<input type="text" id="valueToConvert" name="valueToConvert" required>
<br><br>
<label for="targetBase">目标基数 (2-16):</label>
<input type="number" id="targetBase" name="targetBase" min="2" max="16" required>
<br><br>
<button type="submit">转换</button>
</form>
<div id="result"></div>
<!-- JavaScript代码将放在这里 -->
<script>
document.getElementById('baseConverterForm').addEventListener('submit', function(event) {
event.preventDefault(); // 阻止表单默认提交行为
const sourceBase = parseInt(document.getElementById('sourceBase').value);
const targetBase = parseInt(document.getElementById('targetBase').value);
const valueToConvert = document.getElementById('valueToConvert').value.toUpperCase();
// 转换逻辑
let decimalValue = parseInt(valueToConvert, sourceBase);
let convertedValue = decimalValue.toString(targetBase);
// 将结果展示在页面上
document.getElementById('result').innerHTML = `转换后的值: ${convertedValue}`;
});
</script>
</body>
</html>
Loading…
Cancel
Save