12. 编写一个Java 小程序,鼠标点击界面,以该点为中心画一个边长为200的正方形,拖动鼠标正方形跟着动。

12. 编写一个Java 小程序,鼠标点击界面,以该点为中心画一个边长为200的正方形,拖动鼠标正方形跟着动。,第1张

方法一:import javautil;

public class ProOne {

//题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

//程序分析:利用辗除法。

public static void main(String[] args)

{

int m=0,n=0,m1=0,n1=0;

int a;

Scanner scanner = new Scanner(Systemin);

Systemoutprintln("请输入m的值:");

m=scannernextInt();

Systemoutprintln("请输入n的值:");

n=scannernextInt();

//将输入的m和n值备份;

m1=m;

n1=n;

//取得两个数相除的余数;

a=m%n;

while(a!=0)

{

m1=n1;n1=a;a=m1%n1;

}

Systemoutprintln("m,n的最大公约数为:"+n1);

//求两个数字的最小公倍数的方法为:(两个数的乘积)/(两个数字的最大公约数);

Systemoutprintln("m,n两个数的最小公倍数为:"+mn/n1);

}

}

方法2:

public class Test {

public static void main(String[] args) {

Systemoutprintln(gongyue(10, 12));

}

//迭代n的阶乘

public static int method(int n) {

if (n == 1) {

return 1;

} else {

return n method(n - 1);

}

}

// 求m和n的最大公约数

public static int gongyue(int m, int n) {

while (m % n != 0) {

int temp = m % n;

m = n;

n = temp;

}

return n;

}

// 求m和n的最小公倍数

public static int gongbei(int m, int n) {

return m n / gongyue(m, n);

}

}

你等我,我来写!

要加注释吗?txt文件也贴给你吧。

import javaioFile;

import javaioFileInputStream;

public class Test {

private static int excellentNum;

private static int goodNum;

private static int passNum;

private static int failNum;

private static int totalNum;

public static void count() {

String str = readFile();

String[] records = strsplit("\n");

totalNum = recordslength;

for(int i = 0; i < totalNum; i++) {

String[] record = records[i]split(" ");

String[] scoreStr = record[recordlength -1]split("\r");

int score = IntegerparseInt(scoreStr[0]);

if(score >= 90) {

excellentNum++;

}else if(score >= 70) {

goodNum++;

}

if(score >= 60) {

passNum++;

}else {

failNum++;

}

}

}

public static void countExcellent() {

Systemoutprintln("优秀率是: " + (float)excellentNum/totalNum100 + "%");

}

public static void countGood() {

Systemoutprintln("良好率是: " + (float)goodNum/totalNum100 + "%");

}

public static void countPass() {

Systemoutprintln("及格率是: " + (float)passNum/totalNum100 + "%");

}

public static void countFail() {

Systemoutprintln("不及格率是: " + (float)failNum/totalNum100 + "%");

}

public static String readFile() {

File file = new File("D:\\scoretxt");

StringBuffer sb = new StringBuffer();

try {

FileInputStream fis = new FileInputStream(file);

byte[] b = new byte[1024];

int length = 0;

while(fisavailable() > 0) {

length = fisread(b);

String str = new String(b, 0, length);

sbappend(str);

}

} catch (Exception e) {

eprintStackTrace();

}

return sbtoString();

}

public static void main(String[] args) {

count();

countExcellent();

countGood();

countPass();

countFail();

}

}

--------------------------------------

scoretxt

001 小明 90

002 小伟 38

004 好地方 80

005 小明 90

006 小伟 38

007 好地方 80

008 小明 90

009 小伟 38

010 好地方 80

001 小明 90

011 小伟 38

012 好地方 80

1、小程序 是可以在万维网浏览器内运行的小型 Java 程序。小程序 和 应用程序之间的主要差别是他们的运行方式不同。小程序可以运行的环境为:Netscape Navigator、Microsoft Internet Explore、Opera、HotJava以及appletviewer工具。为了使小程序运行,它必须使用 HTML 标记包含在网页上,使用方式与包含图形和其他元素的方式相同。

ps 用户使用 浏览器 来加载包含Java小程序的网页时,浏览器 从web服务器上下载小程序并在web用户自己的系统中运行它。Java解释程序 内置在浏览器中。

2、Java 程序有可能同时作为 小程序 和 应用程序 运行。尽管创建这些类型的程序之间有差别,但他们彼此并不互相冲突。当程序作为 应用程序 运行时,它作为小程序的特征可以忽略,反之亦然。

3、作为一般的规则,Java 小程序在 “安全大于遗憾” 的安全模型中运行。迄今为止,以前接触的都是应用程序——一些简单程序。有一个 main() 方法来创建对象,设置实例变量和调用其他方法。 小程序 没有main() 方法可以自动调用它以启动程序。 相反,在执行小程序的时候,在不同的地方将调用几个方法。

给你一个简单的实现吧,注意一定要先运行MyServerjava

//MyCilentjava

import javaio;

import javanet;

import javaxswing;

import javaawt;

import javaawtevent;

public class MyClient extends JFrame implements ActionListener{

JTextField tf;

JTextArea tx;

JButton bt;

PrintWriter out;

public MyClient(){

tf=new JTextField(20);

tx=new JTextArea();

txsetLineWrap(true);

txsetWrapStyleWord(true);

JPanel pan=new JPanel();

JScrollPane jsp=new JScrollPane(tx);

add(jsp,"Center");

bt=new JButton("SEND");

btaddActionListener(this);

panadd(tf);

panadd(bt);

add(pan,"South");

thisaddWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

Systemexit(0);

}

});

setTitle("THE CLIENT");

setSize(400,300);

setVisible(true);

try{

Socket socket=new Socket("127001",1680);

out=new PrintWriter(socketgetOutputStream(),true);

InputStreamReader in = new InputStreamReader(socketgetInputStream());

BufferedReader sin=new BufferedReader(in);

String s;

while(true){

s=sinreadLine();

txappend("#Server Said#: "+s+"\n");

}

}catch(Exception e){

eprintStackTrace();

}

}

public void actionPerformed(ActionEvent e){

if(egetSource()==bt){

txappend("@Client Said@: "+tfgetText()+"\n");

outprintln(tfgetText());

tfsetText("");

}

}

public static void main(String[] args){

MyClient mct = new MyClient();

}

}

//MyServerjava

import javaio;

import javanet;

import javaxswing;

import javaawt;

import javaawtevent;

public class MyServer extends JFrame implements ActionListener{

JTextField tf;

JTextArea tx;

JButton bt;

JScrollPane jsp;

JPanel pan;

PrintWriter out;

public MyServer(){

tx=new JTextArea();

txsetLineWrap(true);

txsetWrapStyleWord(true);

jsp=new JScrollPane(tx);

tf=new JTextField(20);

bt=new JButton("SEND");

btaddActionListener(this);

pan=new JPanel();

panadd(tf);

panadd(bt);

add(pan,"South");

add(jsp,"Center");

thisaddWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

Systemexit(0);

}

});

setTitle("THE SERVER");

setSize(400,300);

setVisible(true);

try{

ServerSocket server = new ServerSocket(1680);

Socket socket = serveraccept();

InputStreamReader in = new InputStreamReader(socketgetInputStream());

BufferedReader sin=new BufferedReader(in);

out=new PrintWriter(socketgetOutputStream(),true);

while(true){

String s=sinreadLine();

txappend("@Client Said@: "+s+"\n");

}

}catch(Exception e){

eprintStackTrace();

}

}

public void actionPerformed(ActionEvent e){

if(egetSource()==bt){

String st = tfgetText();

txappend("#Server Said#: "+st+"\n");

outprintln(st);

tfsetText("");

}

}

public static void main(String[] args){

MyServer msr = new MyServer();

}

}

import javaxswing;

import javaawt;

import javaawtevent;

public class Calculator extends JFrame implements ActionListener

{

private boolean dotExist, operated, equaled; // 帮助运算的布尔变量

private double storedNumber; // 目前的结果

private char lastOperator; // 表示上一运算符

private JTextField operation; // 结果栏

private JButton dot, plus, minus, multi, div, sqrt, equal, changePN, clear; // 运算符

private JButton[] numbers; // 数字

// 构造者

public Calculator()

{

setTitle("Calculator");

// 初始化变量

dotExist = false; // 表示当前的数是否有小数点

operated = false; // 表示任意运算符是否被按下

equaled = false; // 表示等号是否被按下

storedNumber = 0;

lastOperator = '';

// 初始化窗口变量

operation = new JTextField("0");

operationsetEditable(false);

numbers = new JButton[10];

for (int i = 0; i < 10; i++)

numbers[i] = new JButton("" + i);

dot = new JButton("");

plus = new JButton("+");

minus = new JButton("-");

multi = new JButton("");

div = new JButton("/");

sqrt = new JButton("√");

equal = new JButton("=");

changePN = new JButton("±");

clear = new JButton("AC");

// 将窗口物体放入窗口

GridBagLayout layout = new GridBagLayout();

getContentPane()setLayout(layout);

addComponent(layout, operation, 0, 0, 4, 1);

addComponent(layout, numbers[1], 1, 0, 1, 1);

addComponent(layout, numbers[2], 1, 1, 1, 1);

addComponent(layout, numbers[3], 1, 2, 1, 1);

addComponent(layout, numbers[4], 2, 0, 1, 1);

addComponent(layout, numbers[5], 2, 1, 1, 1);

addComponent(layout, numbers[6], 2, 2, 1, 1);

addComponent(layout, numbers[7], 3, 0, 1, 1);

addComponent(layout, numbers[8], 3, 1, 1, 1);

addComponent(layout, numbers[9], 3, 2, 1, 1);

addComponent(layout, dot, 4, 0, 1, 1);

addComponent(layout, numbers[0], 4, 1, 1, 1);

addComponent(layout, sqrt, 4, 2, 1, 1);

addComponent(layout, plus, 1, 3, 1, 1);

addComponent(layout, minus, 2, 3, 1, 1);

addComponent(layout, multi, 3, 3, 1, 1);

addComponent(layout, div, 4, 3, 1, 1);

addComponent(layout, equal, 5, 0, 2, 1);

addComponent(layout, changePN, 5, 2, 1, 1);

addComponent(layout, clear, 5, 3, 1, 1);

}

// 对按钮进行反应的方法

public void actionPerformed(ActionEvent e)

{

JButton btn = (JButton)egetSource();

if (btn == clear)

{

operationsetText("0");

dotExist = false;

storedNumber = 0;

lastOperator = '';

}

else if (btn == equal)

{

operate('=');

equaled = true;

}

else if (btn == plus)

{

operate('+');

equaled = false;

}

else if (btn == minus)

{

operate('-');

equaled = false;

}

else if (btn == multi)

{

operate('');

equaled = false;

}

else if (btn == div)

{

operate('/');

equaled = false;

}

else if (btn == changePN)

{

operate('p');

operate('=');

equaled = true;

}

else if (btn == sqrt)

{

operate('s');

operate('=');

equaled = true;

}

else

{

if (equaled)

storedNumber = 0;

for (int i = 0; i < 10; i++)

if (btn == numbers[i])

{

if (operationgetText()equals("0"))

operationsetText("" + i);

else if(! operated)

operationsetText(operationgetText() + i);

else

{

operationsetText("" + i);

operated = false;

}

}

if (btn == dot && ! dotExist)

{

operationsetText(operationgetText() + "");

dotExist = true;

}

}

}

// 进行运算的方法

private void operate(char operator)

{

double currentNumber = DoublevalueOf(operationgetText())doubleValue();

if (lastOperator == '')

storedNumber = currentNumber;

else if (lastOperator == '+')

storedNumber += currentNumber;

else if (lastOperator == '-')

storedNumber -= currentNumber;

else if (lastOperator == '')

storedNumber = currentNumber;

else if (lastOperator == '/')

storedNumber /= currentNumber;

else if (lastOperator == 'p')

storedNumber = -1;

else if (lastOperator == 's')

storedNumber = Mathsqrt(currentNumber);

else if (lastOperator == '=' && equaled)

storedNumber = currentNumber;

operationsetText("" + storedNumber);

operated = true;

lastOperator = operator;

}

// 快捷使用GridBagLayout的方法

private void addComponent(GridBagLayout layout, Component component, int row, int col, int width, int height)

{

GridBagConstraints constraints = new GridBagConstraints();

constraintsfill = GridBagConstraintsBOTH;

constraintsinsets = new Insets(10, 2, 10, 2);

constraintsweightx = 100;

constraintsweighty = 100;

constraintsgridx = col;

constraintsgridy = row;

constraintsgridwidth = width;

constraintsgridheight = height;

layoutsetConstraints(component, constraints);

if (component instanceof JButton)

((JButton)component)addActionListener(this);

getContentPane()add(component);

}

// 主方法初始化并显示窗口

public static void main(String[] args)

{

Calculator calc = new Calculator();

calcsetSize(290, 400);

calcsetVisible(true);

}

}

如果你想加sin cos tan的话就建它们的按钮 在actionPerformed方法中的if-else语句中加else if (btn == sin){operate('S');operate('=');equaled = true;}然后在operate方法加对应的语句就行了记忆M+, M-没时间搞 这个应该比较简单容易明白吧

以上就是关于12. 编写一个Java 小程序,鼠标点击界面,以该点为中心画一个边长为200的正方形,拖动鼠标正方形跟着动。全部的内容,包括:12. 编写一个Java 小程序,鼠标点击界面,以该点为中心画一个边长为200的正方形,拖动鼠标正方形跟着动。、用JAVA编写一个小程序、怎样区分应用程序和小程序如何标识JAVA程序的主类等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9459289.html

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

发表评论

登录后才能评论

评论列表(0条)

保存