Java程序 题目1: 综合图形界面程序设计 实验目的和要求:学习和理解JAVA SWING中的容

Java程序 题目1: 综合图形界面程序设计 实验目的和要求:学习和理解JAVA SWING中的容,第1张

import java.awt.*

import java.awt.event.*

import javax.swing.*

@SuppressWarnings("serial")

class Frame20 extends JFrame implements ActionListener

{ JButton jb1

JTextField jtf1,jtf2

Frame20()

{ setLayout(new BorderLayout())

JPanel jp1 = new JPanel()

JPanel jp2 = new JPanel()

JPanel jp3 = new JPanel()

jtf1 = new JTextField("", 12)

jp1.add(new JLabel("人民币金额:"))

jp1.add(jtf1)

jb1=new JButton("转换成美元等于")

jb1.addActionListener(this)

jp2.add(jb1)

jtf2 = new JTextField("", 12)

jp3.add(new JLabel("美元金额:"))

jp3.add(jtf2)

add(jp1)

add(jp2)

add(jp3)

setLayout(new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS))

setBounds(120,125,300,200) //设定窗体大小和位置

setTitle("美元转换") //设定窗体标题

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

setVisible(true) //设定窗体可见

}

public void actionPerformed(ActionEvent e)

{ String rmb

double dollar

if(e.getSource()==jb1)

{ rmb=jtf1.getText()

dollar=Integer.parseInt(rmb)*0.1609

jtf2.setText(String.valueOf(dollar))

}

}

}

public class meiyuan_zhuanghuan

{ public static void main(String []args)

{ new Frame20()

}

}

//Client.java

//多给点财富

import java.util.*

import java.io.*

import java.net.*

public class Client

{

public static void main(String[] args) throws Exception

{

Client.C=new Socket(Client.ServerName,Client.ServerPort)

Client.BR=new BufferedReader(new InputStreamReader(Client.C.getInputStream()))

Client.PW=new PrintWriter(Client.C.getOutputStream())

while(true)

{

System.out.println(Client.MenuInfor)

Client.M=Client.SC.nextInt()

Client.ProcessMenu()

}

}

private static void ProcessMenu() throws Exception

{

Client.SB.setLength(0)

//Client.SB=new StringBuffer()

if(0==Client.M)

{

Client.SB.append(Client.M)

Client.SB.append(Client.Separator)

Client.SB.append(0.0)

Client.WriteStrToNetStream(Client.SB.toString())

Client.BR.close()

Client.PW.close()

Client.C.close()

System.exit(0)

}

else if(Client.M>=1 &&Client.M<=7)

{

Client.SB.append(Client.M)

System.out.println("请输入第一个 *** 作数:")

Client.Num1=Client.SC.nextDouble()

Client.SB.append(Client.Separator)

Client.SB.append(Client.Num1)

if(Client.M>=1 &&Client.M<=5)

{

System.out.println("请输入第二个 *** 作数:")

Client.Num2=Client.SC.nextDouble()

Client.SB.append(Client.Separator)

Client.SB.append(Client.Num2)

}

Client.WriteStrToNetStream(Client.SB.toString())

switch(Client.M)

{

case 1:

System.out.println(String.format("%1$f+%2$f=%3$s",Client.Num1,Client.Num2,Client.BR.readLine()))

break

case 2:

System.out.println(String.format("%1$f-%2$f=%3$s",Client.Num1,Client.Num2,Client.BR.readLine()))

break

case 3:

System.out.println(String.format("%1$f*%2$f=%3$s",Client.Num1,Client.Num2,Client.BR.readLine()))

break

case 4:

System.out.println(String.format("%1$f/%2$f=%3$s",Client.Num1,Client.Num2,Client.BR.readLine()))

break

case 5:

System.out.println(String.format("pow(%1$f,%2$f)=%3$s",Client.Num1,Client.Num2,Client.BR.readLine()))

break

case 6:

System.out.println(String.format("abs(%1$f)=%2$s",Client.Num1,Client.BR.readLine()))

break

case 7:

System.out.println(String.format("sin(%1$f)=%2$s",Client.Num1,Client.BR.readLine()))

break

}

}

else

{

System.out.println("无法处理的菜单命令。")

}

}

private static void WriteStrToNetStream(String msg)

{

Client.PW.println(msg)

Client.PW.flush()

}

private static final String MenuInfor="菜单:\n0、退出\n1、加\n2、减\n3、乘\n4、除\n5、乘方\n6、绝对值\n7、正弦\n请选择一个:"

private static int M=-1

private static double Num1,Num2

private static final String ServerName=null

private static final int ServerPort=9999

private static final String Separator="="

private static Scanner SC=new Scanner(System.in)

private static Socket C

private static BufferedReader BR

private static PrintWriter PW

private static StringBuffer SB=new StringBuffer()

}

//Server.java

import java.io.*

import java.net.*

import java.util.logging.*

public class Server

{

public static void main(String[] args) throws Exception

{

final String logf="log.txt"

String line=null

FileHandler fh=new FileHandler(logf)

Server.L.addHandler(fh)

ServerSocket ss=new ServerSocket(Server.ServerPort)

Server.S=ss.accept()

Server.BR=new BufferedReader(new InputStreamReader(Server.S.getInputStream()))

Server.PW=new PrintWriter(Server.S.getOutputStream())

while(true)

{

line=Server.BR.readLine()

//System.out.println(line)

if(null!=line)

{

if(Server.ProcessLine(line))

{

fh.flush()

fh.close()

Server.BR.close()

Server.PW.close()

Server.S.close()

System.exit(0)

}

else

{

Server.PW.println(Server.JieGuo)

Server.PW.flush()

//System.out.println(Server.JieGuo)

Server.L.log(Level.INFO,line)

Server.L.log(Level.INFO,Server.JieGuo)

}

}

}

}

private static boolean ProcessLine(String line)

{

boolean isexit=false

String[] strs=line.split(Server.Separator)

Server.M=Integer.parseInt(strs[0])

Server.Num1=Double.parseDouble(strs[1])

if(Server.M>=1 &&Server.M<=5)

{

Server.Num2=Double.parseDouble(strs[2])

}

//System.out.println(""+Server.M+" "+Server.Num1+" "+Server.Num2)

switch(Server.M)

{

case 0:

isexit=true

break

case 1:

Server.JieGuo=String.valueOf(Server.Num1+Server.Num2)

break

case 2:

Server.JieGuo=String.valueOf(Server.Num1-Server.Num2)

break

case 3:

Server.JieGuo=String.valueOf(Server.Num1*Server.Num2)

break

case 4:

if(0!=Server.Num2)

{

Server.JieGuo=String.valueOf(Server.Num1/Server.Num2)

}

else

{

Server.JieGuo="´íÎ󣬳ýÊý²»ÄÜΪ0¡£"

}

break

case 5:

Server.JieGuo=String.valueOf(Math.pow(Server.Num1,Server.Num2))

break

case 6:

Server.JieGuo=String.valueOf(Math.abs(Server.Num1))

break

case 7:

Server.JieGuo=String.valueOf(Math.sin(Server.Num1))

break

}

return isexit

}

private static int M=-1

private static double Num1,Num2

private static final int ServerPort=9999

private static final String Separator="="

private static String JieGuo

private static Socket S

private static BufferedReader BR

private static PrintWriter PW

private static Logger L=Logger.getAnonymousLogger()

}

本书采用任务驱动教学模式,通过任务的实施,使读者在读程序、学知识、写程序的过程中,逐渐掌握面向对象的Java程序设计思想和技能。本书共分12个单元,主要包括Java程序设计过程、基本语法规则、面向对象技术、数组与字符串、异常处理、GUI编程、输入/输出处理、多线程编程以及基础网络编程等内容。

本书适合作为高等职业院校计算机相关专业“Java程序设计”或者“面向对象程序设计”课程的教材,也可作为相关技术人员学习Java的参考用书。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11144154.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存