java小程序例子 小程序开发软件
大家好,今天给各位分享java小程序例子的一些知识,其中也会对小程序开发软件进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
求写一个java小程序
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
importjavax.swing.JOptionPane;
/**
*复制文件或文件夹
*
*zww
*/
publicclassCopyFileUtil{
privatestaticStringMESSAGE="";
/**
*复制单个文件
*
*@paramsrcFileName
*待复制的文件名
*@paramdescFileName
*目标文件名
*@paramoverlay
*如果目标文件存在,是否覆盖
*@return如果复制成功返回true,否则返回false
*/
publicstaticbooleancopyFile(StringsrcFileName,StringdestFileName,
booleanoverlay){
FilesrcFile=newFile(srcFileName);
//判断源文件是否存在
if(!srcFile.exists()){
MESSAGE="源文件:"+srcFileName+"不存在!";
JOptionPane.showMessageDialog(null,MESSAGE);
returnfalse;
}elseif(!srcFile.isFile()){
MESSAGE="复制文件失败,源文件:"+srcFileName+"不是一个文件!";
JOptionPane.showMessageDialog(null,MESSAGE);
returnfalse;
}
//判断目标文件是否存在
FiledestFile=newFile(destFileName);
if(destFile.exists()){
//如果目标文件存在并允许覆盖
if(overlay){
//删除已经存在的目标文件,无论目标文件是目录还是单个文件
newFile(destFileName).delete();
}
}else{
//如果目标文件所在目录不存在,则创建目录
if(!destFile.getParentFile().exists()){
//目标文件所在目录不存在
if(!destFile.getParentFile().mkdirs()){
//复制文件失败:创建目标文件所在目录失败
returnfalse;
}
}
}
//复制文件
intbyteread=0;//读取的字节数
InputStreamin=null;
OutputStreamout=null;
try{
in=newFileInputStream(srcFile);
out=newFileOutputStream(destFile);
byte[]buffer=newbyte[1024];
while((byteread=in.read(buffer))!=-1){
out.write(buffer,0,byteread);
}
returntrue;
}catch(FileNotFoundExceptione){
returnfalse;
}catch(IOExceptione){
returnfalse;
}finally{
try{
if(out!=null)
out.close();
if(in!=null)
in.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
/**
*复制整个目录的内容
*
*@paramsrcDirName
*待复制目录的目录名
*@paramdestDirName
*目标目录名
*@paramoverlay
*如果目标目录存在,是否覆盖
*@return如果复制成功返回true,否则返回false
*/
publicstaticbooleancopyDirectory(StringsrcDirName,StringdestDirName,
booleanoverlay){
//判断源目录是否存在
FilesrcDir=newFile(srcDirName);
if(!srcDir.exists()){
MESSAGE="复制目录失败:源目录"+srcDirName+"不存在!";
JOptionPane.showMessageDialog(null,MESSAGE);
returnfalse;
}elseif(!srcDir.isDirectory()){
MESSAGE="复制目录失败:"+srcDirName+"不是目录!";
JOptionPane.showMessageDialog(null,MESSAGE);
returnfalse;
}
//如果目标目录名不是以文件分隔符结尾,则加上文件分隔符
if(!destDirName.endsWith(File.separator)){
destDirName=destDirName+File.separator;
}
FiledestDir=newFile(destDirName);
//如果目标文件夹存在
if(destDir.exists()){
//如果允许覆盖则删除已存在的目标目录
if(overlay){
newFile(destDirName).delete();
}else{
MESSAGE="复制目录失败:目的目录"+destDirName+"已存在!";
JOptionPane.showMessageDialog(null,MESSAGE);
returnfalse;
}
}else{
//创建目的目录
System.out.println("目的目录不存在,准备创建。。。");
if(!destDir.mkdirs()){
System.out.println("复制目录失败:创建目的目录失败!");
returnfalse;
}
}
booleanflag=true;
File[]files=srcDir.listFiles();
for(inti=0;i<files.length;i++){
//复制文件
if(files[i].isFile()){
flag=CopyFileUtil.copyFile(files[i].getAbsolutePath(),
destDirName+files[i].getName(),overlay);
if(!flag)
break;
}elseif(files[i].isDirectory()){
flag=CopyFileUtil.copyDirectory(files[i].getAbsolutePath(),
destDirName+files[i].getName(),overlay);
if(!flag)
break;
}
}
if(!flag){
MESSAGE="复制目录"+srcDirName+"至"+destDirName+"失败!";
JOptionPane.showMessageDialog(null,MESSAGE);
returnfalse;
}else{
returntrue;
}
}
publicstaticvoidmain(String[]args){
StringsrcDirName="C:/test/test0/test1";
StringdestDirName="c:/ttt";
CopyFileUtil.copyDirectory(srcDirName,destDirName,true);
}
}
求写一个Java小程序~~
截图:题目翻译过来的大概意思和程序代码:译文:编写一个程序,使之能显示同每月按揭贷款还款额以及欠款余额,然后显示还款中有多少是利息还款,有多少是本金还款(即有多少还款是真正用来减少债务的)。假设年利率是7.49%。命名一个常量来代表利率。注意还款按月进行,所以利率只是年利率7.49的1/12。代码:注:按揭贷款有两种月供还款方式:本金还款和本息还款,题目要求的是按“本息还款”方式进行编程,再程序中我把两种还款方式都写了出来,关键地方有注释!
import java.text.NumberFormat;
import java.util.Scanner;
public class Repay{
final double NLL=0.0749;//年利率
final double MLL=NLL/12;//月利率
final int MONTH=12;//付款次数
int month=1;
public static void main(String[] args){
Repay rp=new Repay();
rp.payback();
}
public void payback(){
System.out.println("请输入借款金额");
//获得贷款数额
Scanner sc=new Scanner(System.in);
double debt=sc.nextDouble();
NumberFormat fn=NumberFormat.getInstance();
fn.setMaximumFractionDigits(2);
String nll=fn.format(NLL*100)+"%";
String mll=fn.format(MLL*100)+"%";
String debt_fn=fn.format(debt);
System.out.println("请选择还款方式:输入1选择等额本金还款,输入2选择等额本息还款");
int mode=sc.nextInt();
//等额本金还款
if(mode==1){
System.out.println("您总共借款"+debt_fn+";还款方式:等额本金还款;还款时间:1年"+";年利率是:"+nll+";月利率"+mll);
System.out.println("分期还款明细");
double monthPincipal=debt/12;//每月应还本金
debt=monthPincipal*12;
double accrualM;//每月还款利息
double tm;//每月还款金额
//分期还款明细
while(debt>=1){
accrualM=debt*MLL;
tm=monthPincipal+accrualM;
debt=debt-monthPincipal;
if(debt<1){
debt=0;
}
//把小数位数格式化成2位
String tm_fn=fn.format(tm);
String monthPincipal_fn=fn.format(monthPincipal);
String accrualM_fn=fn.format(accrualM);
String debt_fn2=fn.format(debt);
System.out.println("第"+month+"月还款金额:"+tm_fn+"本月应还本金:"+monthPincipal_fn+"本月还款利息:"+accrualM_fn+"剩余本金:"+debt_fn2);
month++;
}
}
//等额本息还款
if(mode==2){
System.out.println("您总共借款"+debt_fn+";还款方式:等额本息还款;还款时间:1年"+";年利率是:"+nll+";月利率"+mll);
//等额本息还款的月还款数公式
double X=debt*MLL*(Math.pow((1+MLL), MONTH))/(Math.pow((1+MLL), MONTH)-1);
String X_fn=fn.format(X);//格式化小数位数
System.out.println("您的月还款额为:"+X_fn);
//分期还款明细
double lixiM,benjinM;//月利息,月本金
System.out.println("分期还款明细");
while(debt>=1){
lixiM=debt*MLL;
benjinM=X-lixiM;
debt=debt-benjinM;
if(debt<1){
debt=0;
}
//输出
String lixiM_fn=fn.format(lixiM);
String benjinM_fn=fn.format(benjinM);
String debt_fn3=fn.format(debt);
System.out.println("第"+month+"月还款金额:"+X_fn+"本月应还本金(即减少债务的钱):"+benjinM_fn+"本月还款利息:"+lixiM_fn+"剩余本金:"+debt_fn3);
month++;
}
}
}
}
求写好的java小程序,不要太难,谢谢了急、、、谢谢
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.math.BigDecimal;
import javax.swing.*;
public class TestComputer implements ActionListener{//用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,
//而使用该类创建的对象可使用组件的 addActionListener方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed方法。
private boolean append= false;//数字处于替换状态
JTextField jtf= new JTextField(10);//构造一个具有指定列数的新的空 TextField。
private String operator="+";
private String op1="0";
public void actionPerformed(ActionEvent ae){//发生操作时调用。
String com= ae.getActionCommand();//返回与此动作相关的命令字符串。
if("0123456789".indexOf(com)!=-1){//返回第一次出现的指定子字符串在此字符串中的索引。
if(append){//追加
String temp= jtf.getText();//返回此 TextComponent中包含的文本。
jtf.setText(temp+com);//将此 TextComponent文本设置为指定文本。
}else{//替换
jtf.setText(com);
append= true;
}
}else if("+-*/".indexOf(com)!=-1){//返回第一次出现的指定子字符串在此字符串中的索引。
op1= jtf.getText();
operator= com;
append= false;
}else if("=".equals(com)){
String op2= jtf.getText();
BigDecimal d1= new BigDecimal(op1);//将 BigDecimal的字符串表示形式转换为 BigDecimal。
//BigDecimal不可变的、任意精度的有符号十进制数。BigDecimal由任意精度的整数非标度值和 32位的整数标度(scale)组成
BigDecimal d2= new BigDecimal(op2);
if("+".equals(operator)){
d1= d1.add(d2);//返回一个 BigDecimal,其值为(this+ augend),其标度为 max(this.scale(), augend.scale())
}else if("-".equals(operator)){
d1= d1.subtract(d2);//返回一个BigDecimal,其值为(this- subtrahend),其标度为max(this.scale(),subtrahend.scale())
}else if("*".equals(operator)){
d1= d1.multiply(d2);//返回一个BigDecimal,其值为(this× multiplicand),其标度为(this.scale()+multiplicand.scale())
}else{
d1= d1.divide(d2,10,BigDecimal.ROUND_HALF_UP);
}//divide()返回一个 BigDecimal,其值为(this/ divisor),其标度为指定标度。
jtf.setText(d1.toString());//返回此 BigDecimal的字符串表示形式,如果需要指数,则使用科学记数法。
append= false;
}else if(".".equals(com)){
String temp= jtf.getText();
if(temp.indexOf(com)==-1){//没有找到
jtf.setText(temp+".");
append= true;
}
}else if("+/-".equals(com)){
String temp= jtf.getText();
if(temp.startsWith("-")){
jtf.setText(temp.substring(1));
}else{
jtf.setText("-"+temp);
}
}else if("Back".equals(com)){
String temp= jtf.getText();
if(temp.length()>0){
jtf.setText(temp.substring(0,temp.length()-1));
}
}else if("CE".equals(com)||"C".equals(com)){
jtf.setText("0");
}
}
public TestComputer(){
JFrame jf= new JFrame("grefr的计算器");//创建一个新的、初始不可见的、具有指定标题的 Frame。
JPanel jp= new JPanel();//创建具有双缓冲和流布局的新 JPanel。
String[] lab={"Back","CE","C","+","7",
"8","9","-","4","5","6","*","1","2",
"3","/","0",".","+/-","="};
jp.setLayout(new GridLayout(5,4));
//setLayout(LayoutManager mgr)设置此容器的布局管理器。
//GridLayout(int rows, int cols)创建具有指定行数和列数的网格布局。
jtf.setEditable(false);//设置指定的 boolean变量,以指示此 TextComponent是否应该为可编辑的
JButton[] jb= new JButton[lab.length];
jf.add(jtf,BorderLayout.NORTH);
for(int i=0;i<jb.length;i++){
jb[i]= new JButton(lab[i]);
jp.add(jb[i]);
jb[i].addActionListener(this);//将一个 ActionListener添加到按钮中。
}
jf.add(jp);
jf.setSize(300,300);
jf.setLocation(250, 250);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
new TestComputer();
}
}
好了,文章到此结束,希望可以帮助到大家。