Compare commits

..

No commits in common. '163d34bba25e7fe0f8a17472a6047b58d7f855c5' and '405a0aa0e032f56e71cf62e6735ad915e1a30acb' have entirely different histories.

@ -0,0 +1,66 @@
import java.util.Scanner;
public class BaseConversion {
public static int convertToDecimal(String number, int base) {
int decimalValue = 0;
int power = 0;
for (int i = number.length() - 1; i >= 0; i--) {
char digit = number.charAt(i);
int digitValue;
if (Character.isDigit(digit)) {
digitValue = digit - '0';
} else {
digitValue = Character.toUpperCase(digit) - 'A' + 10; // A-F
}
decimalValue += digitValue * Math.pow(base, power);
power++;
}
return decimalValue;
}
public static String convertFromDecimal(int number, int base) {
StringBuilder result = new StringBuilder();
if (number == 0) {
return "0";
}
while (number > 0) {
int remainder = number % base;
if (remainder < 10) {
result.append((char) ('0' + remainder));
} else {
result.append((char) ('A' + remainder - 10));
}
number /= base;
}
return result.reverse().toString();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入源进制 (2-16): ");
int sourceBase = scanner.nextInt();
System.out.print("请输入目标进制 (2-16): ");
int targetBase = scanner.nextInt();
scanner.nextLine();
System.out.print("请输入要转换的数字: ");
String number = scanner.nextLine();
int decimalValue = convertToDecimal(number, sourceBase);
String result = convertFromDecimal(decimalValue, targetBase);
System.out.println("转换结果: " + result);
}
}

@ -1,68 +0,0 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class BaseConversion2 {
public static int convertToDecimal(String number, int base) {
int decimalValue = 0;
int power = 0;
for (int i = number.length() - 1; i >= 0; i--) {
char digit = number.charAt(i);
int digitValue;
if (Character.isDigit(digit)) {
digitValue = digit - '0';
} else {
digitValue = Character.toUpperCase(digit) - 'A' + 10; // A-F
}
decimalValue += digitValue * Math.pow(base, power);
power++;
}
return decimalValue;
}
public static String convertFromDecimal(int number, int base) {
StringBuilder result = new StringBuilder();
if (number == 0) {
return "0";
}
while (number > 0) {
int remainder = number % base;
if (remainder < 10) {
result.append((char) ('0' + remainder));
} else {
result.append((char) ('A' + remainder - 10));
}
number /= base;
}
return result.reverse().toString();
}
public static void main(String[] args) {
JFrame frame = new JFrame("进制转换器");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setLayout(new GridLayout(5, 2));
JLabel sourceBaseLabel = new JLabel("源进制 (2-16):");
JTextField sourceBaseField = new JTextField();
JLabel targetBaseLabel = new JLabel("目标进制 (2-16):");
JTextField targetBaseField = new JTextField();
JLabel numberLabel = new JLabel("要转换的数字:");
JTextField numberField = new JTextField();
JButton convertButton = new JButton("转换");
JLabel resultLabel = new JLabel("转换结果:");
convertButton.addActionListener(new ActionListener() {
@Override
public void actionPerf
Loading…
Cancel
Save