
正文
代码转换器java 代码转换器的设计与实现
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
数据单位转换工具java代码
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class UnitTransfer extends JFrame{
private final int WIDTH = 400, HEIGHT = 300;//窗口默认的宽度、高度
private JLabel lblInUnit=new JLabel("输入单位");
private JComboBox cboIn=new JComboBox(new String[]{"", ""});
private JLabel lblIn=new JLabel("输入数值");
private JTextField txtIn=new JTextField("10");
private JLabel lblOutUnit=new JLabel("输出单位");
private JLabel lblResult=new JLabel("显示结果");
private JLabel txtResult=new JLabel("结果");
private JComboBox cboOut=new JComboBox(new String[]{"", ""});
private JButton btnTrans = new JButton("转换");
private JButton btnClear = new JButton("清空");
private JRadioButton rdLeng = new JRadioButton("长度");
private JRadioButton rdWeig = new JRadioButton("时间");
private String [] lengthUnit={"米", "分米", "厘米", "毫米"};
private String [] timeUnit={"天", "时", "分", "秒"};
public UnitTransfer(){
super("简单的单位转换器 Beta");
this.setSize(WIDTH, HEIGHT);
this.setLayout(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ButtonGroup group = new ButtonGroup();
group.add(rdLeng);
group.add(rdWeig);
this.getContentPane().add(rdLeng);
this.getContentPane().add(rdWeig);
this.getContentPane().add(btnTrans);
this.getContentPane().add(btnClear);
this.getContentPane().add(lblIn);
this.getContentPane().add(txtIn);
this.getContentPane().add(lblInUnit);
this.getContentPane().add(cboIn);
this.getContentPane().add(lblResult);
this.getContentPane().add(txtResult);
this.getContentPane().add(lblOutUnit);
this.getContentPane().add(cboOut);
this.setVisible(true);
this.doLayout();
btnTrans.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
doConvert();
}
});
btnClear.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
txtIn.setText("0");
txtResult.setText("0");
}
});
rdLeng.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cboIn.setModel(new DefaultComboBoxModel(lengthUnit));
cboOut.setModel(new DefaultComboBoxModel(lengthUnit));
}
});
rdWeig.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
cboIn.setModel(new DefaultComboBoxModel(timeUnit));
cboOut.setModel(new DefaultComboBoxModel(timeUnit));
}
});
rdLeng.setSelected(true);
cboIn.setModel(new DefaultComboBoxModel(lengthUnit));
cboOut.setModel(new DefaultComboBoxModel(timeUnit));
}
final int offX=100;
public void doLayout(){
super.doLayout();
rdLeng.setBounds(offX, 15, 60, 20);
rdWeig.setBounds(rdLeng.getX()+rdLeng.getWidth()+5, 15, 60, 20);
lblInUnit.setBounds(offX, rdLeng.getY()+rdLeng.getHeight()+20, 80, 20);
cboIn.setBounds(lblInUnit.getX()+lblInUnit.getWidth()+5, lblInUnit.getY(), 80, 20);
lblIn.setBounds(offX, lblInUnit.getY()+lblInUnit.getHeight()+5, 80, 20);
txtIn.setBounds(lblIn.getX()+lblIn.getWidth()+5, lblIn.getY(), 80, 20);
lblOutUnit.setBounds(offX, lblIn.getY()+lblIn.getHeight()+30, 80, 20);
cboOut.setBounds(lblOutUnit.getX()+lblOutUnit.getWidth()+5, lblOutUnit.getY(), 80, 20);
lblResult.setBounds(offX, cboOut.getY()+cboOut.getHeight()+5, 80, 20);
txtResult.setBounds(lblResult.getX()+lblResult.getWidth()+5, lblResult.getY(), 100, 20);
int w=getWidth ();
int x=(w-70*2-5)/2;//水平居中
btnTrans.setBounds(x, lblResult.getY()+lblResult.getHeight()+30, 70, 25);
btnClear.setBounds(btnTrans.getX()+btnTrans.getWidth()+3, btnTrans.getY(), 70, 25);
}
public void doConvert(){
double v=0;
try{
v= Double.parseDouble(txtIn.getText());
}catch(Exception ex){
txtIn.setText("0");
return;
}
//"米", "分米", "厘米", "毫米"
if(rdLeng.isSelected()){
switch(cboIn.getSelectedIndex()){
case 0:
break;
case 1:
v=v/10;
break;
case 2:
v=v/100;
break;
case 3:
v=v/1000;
break;
default:
return;
}
//v 现在是标准单位:米
switch(cboOut.getSelectedIndex()){
case 0:
break;
case 1:
v=v*10;
break;
case 2:
v=v*100;
break;
case 3:
v=v*1000;
break;
default:
return;
}
if(v0.01){
txtResult.setText(String.format("%2.8f", v));
}else{
txtResult.setText(String.format("%2.2f", v));
}
}else{
//"天", "时", "分", "秒"
switch(cboIn.getSelectedIndex()){
case 0:
v=v*24;
break;
case 1:
break;
case 2:
v=v/60;
break;
case 3:
v=v/3600;
break;
default:
return;
}
//v 现在是标准单位:小时
switch(cboOut.getSelectedIndex()){
case 0:
v=v/24;
break;
case 1:
break;
case 2:
v=v*60;
break;
case 3:
v=v*3600;
break;
default:
return;
}
if(v0.01){
txtResult.setText(String.format("%2.8f", v));
}else{
txtResult.setText(String.format("%2.8f", v));
}
}
}
public static void main(String[] args){
EventQueue.invokeLater(new Runnable() {
public void run() {
new UnitTransfer();
}
});
}
}
//请参考,欢迎指正
相关问答
Q1: delphi的代码转换为java
//字符串加密用
static final byte[] XorKey={(byte)0xB2, (byte)0x09, (byte)0xAA, (byte)0x55,
(byte)0x93, (byte)0x6D, (byte)0x84, (byte)0x47};
static String Dec(String Str){//字符解密函数
String Result="";
for(int i=1, j=0; i=Str.length() / 2; i++ ){
String s=Str.substring(i*2-2, i*2);
System.out.println(i+" "+s);
int v=Integer.parseInt(s, 16);
Result=Result+(char)(byte)(v ^ XorKey[j]);
j=(j+1) % 8;
}
return Result;
}
请参考,时间紧, 没时间全转。
Q2: 怎样将Java源代码转换成Java开应用程序
代码转换器java我试了一下代码转换器java,jbuilder生成代码转换器java的exe文件,在没有装jre的机器上不能运行,于是代码转换器java我就在该exe文件的同一位置提供一个jre目录,可是该exe文件不会去自动找这个jre,应该怎样做才能使exe文件找到这个jre,并运行起来呢?
先写一个bak,检查有没有jre,有的话就直接运行你的程序,没有的话,先安装再执行。
---------------------------------------------------------------
jbuilder有一个隐藏的技巧可以让你从可执行文件来启动java程序,(不出现console窗口我没有做到)。需要jbuilderx的bin目录下的这些文件:
jbuilder.exe
jbuilderw.exe (可选)
jbuilder.config
jdk.config
“jbuilder.exe”是一个通用的可执行外壳文件,用以启动java程序,“jbuilderw.exe”好像是javaw.exe一样,它把“jbuilder.exe”包装起来,但是运行时候不显示那个console的窗口。使用这些文件的关键是文件名。“jbuilder.exe”查找一个文件叫“jbuilder.config”的配置文件,里面包含了运行java程序的必须信息。同样的“jbuilderw.exe”查找“jbuilder.exe”来启动不带console窗口的java程序。如果把jbuilder.exe重命名为“foo.exe”,那“foo.exe”将去寻找“foo.config”配置文件,同样“jbuilderw.exe”被重命名为“foow.exe”,它会去寻找“foo.exe”文件。
说到这里,聪明的读者应该猜到怎样利用jbuilder.exe来启动应用程序了。只要把jbuilder.exe,jbuilerw.exe,jbuilder.config改名成相应的文件名,在jbuilder.config里面指定主类和类路径,就能够通过执行jbuilder.exe(或者被改名后的exe文件)来启动java应用程序了。
在\jbuilderx\bin\目录下,后把jbuilder.exe,jbuilder.config,jdk.config四个文件拷贝到某目录下,然后打开jbuilder.config文件,作相应的修改:
在jbuilder.config里面找到下面两行
# start jbuilder using the its main class
mainclass com.borland.jbuilder.jbuilder ----修改主类为自己希望的类
config里面可以识别的命令可以在jbuilder/bin目录下的config_readme.txt里面找到详细说明。
然后修改jdk.config里面的javapath相对的路径,例如原来是
javapath ../jdk1.3/bin/java ----修改主类为自己打包的jre路径(可以使相对路径,如./jre)
最后将jbuilder.exe,jbuilder.config修改成所需要的文件名,例如foo.exe和foo.config文件。
下面的小技巧可能更有趣,将jar文件打包进入exe文件!
将jar包附加到jbuilder.exe后面去,执行过程:
copy /b ..\jbuilder.exe+hello.jar foo.exe
一个含jar包的exe文件得到了!
这个过程的大致原理是:exe文件的重要信息都在文件头部,所以把乱七八糟的东西放exe文件尾部是不要紧的;而jar/zip文件的重要信息是在文件尾部的,这样它们两不相干,能够容易的被执行。
Q3: 如何将以下c++代码转成Java代码?
1、C++如何接受Java的完全面向对象
JAVA是一种完全面向对象的语言。这意味着你对任何一个Java对象所做的动作都是通过一个方法实现的。
第一点就是,再也没有没有主函数这样的孤立的东西了。取而代之的是,你必须开始用一个对象的看法看待一个程序,一个类的对象。
但是这个对象又什么对象呢? 大多数Java程序只是简单的通过继承Java基础类Object来实现所需要的东西,但是你可以通过创建程序基础类用于多个特性相似的应用程序来节省时间。 严格的面向对象的规定意味着理用原有的C/C++代码不可以直接不加改动的使用;系统调用也是这样的。C++中,你可以通过在C++正常的命名空间外声明extern"C"来使用原有的C的过程调用,包括系统调用。
2、Java在虚拟机上运行
Java源代码并不是被编译成为普通的机器代码。而是被翻译成为虚拟机可以执行的代码。一个Java解释器最终执行这些代码。
这其中没有连接的过程;解释在需要的时候动态的加载一些类; 在Java中,只有一个类似的安全回溯的方法,但是并不是十分简单的方法。你必须定义一个本地方法,其目的是为C语言提供接口,然后提供连接的介质。Java环境提供了完成这种任务的工具,但是整个过程和C++中提供的extern比微不足道,完成使用C++类的过程则更加复杂,因为这样会引入对C的借口和C函数和C++成员函数的问题。
3、许多常用的系统实用工具函数已经在系统类中的方法中提供出来,但是这些明显没有包含经过许多年来你所创建的那些类和过程。
所以,在你需要的时候你应该去钻研一下。 也有一些软件,可以实现C#代码转换java工具 C#转java代码转换工具(C# to Java Converter)一个很强大的工具, 能将c#代码片段、文件甚至工程直接转换成java代码,并能彻底解决外部引用的DLL问题,最强的是支持c#工程的直接转换,生成的Java代码质量也很不错。
软件已破解,去除了未注册版最多只能转换1000行的限制,亲测可用!压缩包内含帮助文档,不过由于软件的使用很简单,帮助文档基本可以忽略。
Q4: 用java编写一个二进制转换器,要有面板!!!急求!!跪求!!!!
public class Text {
private int n;
public Text(int n) {
this.n = n;
}
public void fun() {
int a[] = new int[50], i = 0;
while (n != 0) {
if (n % 2 == 0)
a[i++] = 0;
else
a[i++] = 1;
n /= 2;
}
for (int j = i - 1; j = 0; j--)
System.out.print(a[j]);
}
public static void main(String args[]) {
new Text(4563).fun();
/*此处没有用输入,要用的话比较烦,你说的要简单的,直接在代码中改数据好了*/
}
}
关于代码转换器java和代码转换器的设计与实现的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








