2 #4

Closed
fdzcxy212206298 wants to merge 0 commits from master into main

3
.idea/.gitignore vendored

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

@ -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="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/jinzhi/jinzhi.iml" filepath="$PROJECT_DIR$/jinzhi/jinzhi.iml" />
<module fileurl="file://$PROJECT_DIR$/jisuan/jisuan.iml" filepath="$PROJECT_DIR$/jisuan/jisuan.iml" />
<module fileurl="file://$PROJECT_DIR$/test6298.iml" filepath="$PROJECT_DIR$/test6298.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>

@ -1,2 +0,0 @@
# pan

@ -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$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -0,0 +1,103 @@
import java.util.Scanner;
public class JinZhi {
// 辅助方法:将任意进制的数转换为十进制
/**
*
*
* @param number
* @param base
* @return
*/
public static int toDecimal(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 value = 0; // 当前字符对应的十进制值
// 根据字符计算其十进制值
if (Character.isDigit(digit)) {
value = digit - '0'; // 如果是数字,直接减去'0'的ASCII码
} else if (digit >= 'A' && digit <= 'F') {
value = digit - 'A' + 10; // 如果是大写字母,减去'A'的ASCII码后加10
} else if (digit >= 'a' && digit <= 'f') {
value = digit - 'a' + 10; // 如果是小写字母,减去'a'的ASCII码后加10
} else {
throw new IllegalArgumentException("输入的数字中包含无效字符: " + digit);
}
// 将当前字符的十进制值乘以权重后累加到结果中
decimalValue += value * Math.pow(base, power);
power++; // 权重增加
}
return decimalValue;
}
// 辅助方法:将十进制数转换为任意进制
/**
*
*
* @param decimalValue
* @param base
* @return
*/
public static String fromDecimal(int decimalValue, int base) {
if (decimalValue == 0) {
return "0"; // 如果十进制数为0直接返回"0"
}
StringBuilder result = new StringBuilder(); // 用于存储转换结果的StringBuilder对象
char[] digits = "0123456789ABCDEF".toCharArray(); // 表示所有可能的进制字符的数组
// 使用循环进行进制转换
while (decimalValue > 0) {
int remainder = decimalValue % base; // 取余数作为当前位的值
result.insert(0, digits[remainder]); // 将当前位的值添加到结果的开头
decimalValue /= base; // 十进制数除以目标进制,为下一次循环做准备
}
return result.toString(); // 返回转换后的结果字符串
}
// 主方法:执行进制转换
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象用于读取用户输入
// 读取要转换的数、其原始进制和目标进制
System.out.print("请输入要转换的数: ");
String number = scanner.nextLine();
System.out.print("请输入该数的原始进制2-16: ");
int inputBase = scanner.nextInt();
// 读取目标进制
System.out.print("请输入目标进制2-16: ");
int targetBase = scanner.nextInt();
// 验证输入的有效性
if (inputBase < 2 || inputBase > 16 || targetBase < 2 || targetBase > 16) {
System.out.println("无效的进制。进制必须在2到16之间。");
return; // 如果输入无效,则直接返回,不执行后续操作
}
try {
// 将输入的数转换为十进制数
int decimalValue = toDecimal(number, inputBase);
// 将十进制数转换为目标进制数
String result = fromDecimal(decimalValue, targetBase);
// 输出转换后的结果
System.out.println(number + "初始是" + inputBase + "进制;" + "在" + targetBase + "进制下是"+ result);
} catch (IllegalArgumentException e) {
// 捕获并处理非法参数异常
System.out.println("错误: " + e.getMessage());
}
scanner.close(); // 关闭Scanner对象释放资源
}
}

@ -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$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -0,0 +1,5 @@
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}

@ -0,0 +1,211 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class jisuan1{
public static void main(String[] args) {
JS win=new JS();
}
}
class JS extends JFrame implements ActionListener{
private StringBuilder sBuilder = new StringBuilder();
JTextArea text=new JTextArea();
double a,b;
Double sum;
int i;
public JS()
{
setBounds(100,100,400,400);
setTitle("计算器");
this.setLayout(new BorderLayout());
JPanel p1=new JPanel();
JPanel p2=new JPanel();
text.setPreferredSize(new Dimension (370,60));
p2.setLayout(new FlowLayout());
p1.add(text);
this.add(p1,BorderLayout.NORTH);
p2.setLayout(new GridLayout(5,4));
JButton button[]=new JButton[20];
button[0]=new JButton("C");
button[1]=new JButton(" ");
button[2]=new JButton("%");
button[3]=new JButton("÷");
button[4]=new JButton("7");
button[5]=new JButton("8");
button[6]=new JButton("9");
button[7]=new JButton("x");
button[8]=new JButton("4");
button[9]=new JButton("5");
button[10]=new JButton("6");
button[11]=new JButton("—");
button[12]=new JButton("1");
button[13]=new JButton("2");
button[14]=new JButton("3");
button[15]=new JButton("+");
button[16]=new JButton("");
button[17]=new JButton("0");
button[18]=new JButton(".");
button[19]=new JButton("=");
for(int i=0;i<button.length;i++ )
p2.add(button[i]);
p2.add(button[19]);
add(p2,BorderLayout.CENTER);
for(int i=0;i<button.length;i++)
button[i].addActionListener(this);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e)
{
String lab=e.getActionCommand();
if(lab.equals("0"))
{
sBuilder.append("0");
text.setText(sBuilder.toString());
}
else if(lab.equals("1"))
{
sBuilder.append("1");
text.setText(sBuilder.toString());
}
else if(lab.equals("2"))
{
sBuilder.append("2");
text.setText(sBuilder.toString());
}
else if(lab.equals("3"))
{
sBuilder.append("3");
text.setText(sBuilder.toString());
}
else if(lab.equals("4"))
{
sBuilder.append("4");
text.setText(sBuilder.toString());
}
else if(lab.equals("5"))
{
sBuilder.append("5");
text.setText(sBuilder.toString());
}
else if(lab.equals("6"))
{
sBuilder.append("6");
text.setText(sBuilder.toString());
}
else if(lab.equals("7"))
{
sBuilder.append("7");
text.setText(sBuilder.toString());
}
else if(lab.equals("8"))
{
sBuilder.append("8");
text.setText(sBuilder.toString());
}
else if(lab.equals("9"))
{
sBuilder.append("9");
text.setText(sBuilder.toString());
}
else if(lab.equals("C"))
{
sBuilder = new StringBuilder();
text.setText(sBuilder.toString());
}
else if(lab.equals("."))
{
sBuilder.append(".");
text.setText(sBuilder.toString());
}
else if(lab.equals("+"))
{
a = Double.parseDouble(sBuilder.toString());
i=0;
sBuilder = new StringBuilder();
text.setText("+");
}
else if(lab.equals("—"))
{
a = Double.parseDouble(sBuilder.toString());
i=1;
sBuilder = new StringBuilder();
text.setText("—");
}
else if(lab.equals("x"))
{
a = Double.parseDouble(sBuilder.toString());
i=2;
sBuilder = new StringBuilder();
text.setText("x");
}
else if(lab.equals("÷"))
{
i=3;
a = Double.parseDouble(sBuilder.toString());
sBuilder = new StringBuilder();
text.setText("÷");
}
else if(lab.equals("%"))
{
a = Double.parseDouble(sBuilder.toString());
i=4;
sBuilder = new StringBuilder();
text.setText("%");
}
else if(lab.equals("="))
{
b = Double.parseDouble(sBuilder.toString());
if (i == 0)
{
sum=a+b;
text.setText(sum.toString());
sBuilder = new StringBuilder();
sBuilder.append(sum);
}
else if (i == 1)
{
sum = a - b;
text.setText(sum.toString());
sBuilder = new StringBuilder();
sBuilder.append(sum);
}
else if (i == 2)
{
sum = a * b;
text.setText(sum.toString());
sBuilder = new StringBuilder();
sBuilder.append(sum);
}
else if (i == 3)
{
sum = a / b;
text.setText(sum.toString());
sBuilder = new StringBuilder();
sBuilder.append(sum);
}
else if (i == 4)
{
sum=a % b;
int m=(int)a;
int n=(int)b;
sum=(double)m % n;
text.setText(sum.toString());
sBuilder = new StringBuilder();
sBuilder.append(sum);
}
else
text.setText(sBuilder.toString());
}
}
}

Binary file not shown.

Binary file not shown.

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="GENERAL_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>
Loading…
Cancel
Save