duobianxingyouxi.txt
来自「算法分析的多边形游戏,通过算法实现多边形之间数字的计算」· 文本 代码 · 共 176 行
TXT
176 行
package suanfa1.java;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Suanfa extends Applet
implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
char []a = {'t','t','t','x','x'};
//int []m = {4,-7,4,2,5};
int []m = {0,0,0,0,0};
int []m1 ;
int ma[];
int maxf[]= {0,0,0,0,0};
int maxf1[]= {0,0,0,0,0};
boolean ok = false;
Label label1 = null;
TextField text1 = null;
Label label2 = null;
TextField text2 = null;
Label label3 = null;
TextField text3 = null;
Label label4 = null;
TextField text4 = null;
Label label5 = null;
TextField text5 = null;
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public void init(){
setSize(500+getWidth()/2,400+getHeight()/2);
label1 = new Label("第一个顶点:");
add(label1);
text1 = new TextField("0",1);
text1.addActionListener(this);
add(text1);
label2 = new Label("第二个顶点:");
add(label2);
text2 = new TextField("0",1);
text2.addActionListener(this);
add(text2);
label3 = new Label("第三个顶点:");
add(label3);
text3 = new TextField("0",1);
text3.addActionListener(this);
add(text3);
label4 = new Label("第四个顶点:");
add(label4);
text4 = new TextField("0",1);
text4.addActionListener(this);
add(text4);
label5 = new Label("第五个顶点:");
add(label5);
text5 = new TextField("0",1);
text5.addActionListener(this);
add(text5);
}
public void paint(Graphics g){
int mm = 0;
char m1;
char n[] = {0,0,0,0,0};
m1 = a[a.length-1];
n[0] = m1;
for(int i = 1;i<a.length;i++){
n[i] = a[i-1];
}
//检测是否交换
System.out.println(n[0]);
maxf1 = getDingdian();
if(getOk() == true)
while(mm<5){
//保存数组a[]经过交换的数据
int maxf[]= {0,0,0,0,0};
for(int b = 0; b<5;b++){
maxf[b]=maxf1[b];
}
//以下核心算法
//记录第一个k的值
int j = 0 ;
int t[] = {0,0,0,0,0};
for(int k = mm;k<5;k++){
t[j] = k;
j++;
//以下循环计算从k开始的数据
for(int i = k; i <4;i++){
if(a[k] == 't'){
maxf[i] = maxf[i]+maxf[i+1];
maxf[i+1]= maxf[i];
}
else {
maxf[i] = maxf[i]*maxf[i+1];
maxf[i+1]= maxf[i];
}
k++;
System.out.println(maxf[i]);
}
System.out.println();
//数组m[]的数据
int minf[]= {0,0,0,0,0};
minf[0] = maxf[m.length-1];
for(int i = 1;i<m.length;i++){
minf[i] = maxf[i-1];
}
//以下循环用来计算k以前的数据
for(int z = 0;z<t[0];z++){
if(n[z] == 't'){
minf[z] = minf[z]+minf[z+1];
minf[z+1]= minf[z];
}
else if(n[z] =='x'){
minf[z] = minf[z]*minf[z+1];
minf[z+1]= minf[z];
}
System.out.println(minf[z]);
}
}
mm++;
g.fill3DRect(getWidth()/2,getHeight()/2,7,7,true);
g.setColor(Color.blue);
}
g.drawLine(200,100,360,100);
g.setColor(Color.blue);
g.dispose();
}
public void setDingdian(int m[]){
this.m = m;
}
public int[] getDingdian(){
return m;
}
public void setOk(boolean ok){
this.ok = ok;
}
public boolean getOk(){
return ok;
}
public void actionPerformed(ActionEvent e) {
int m01[] = {0,0,0,0,0};
m01[0] = Integer.parseInt(text1.getText());
m01[1] = Integer.parseInt(text2.getText());
m01[2] = Integer.parseInt(text3.getText());
m01[3] = Integer.parseInt(text4.getText());
m01[4] = Integer.parseInt(text5.getText());
setDingdian(m01);
setOk(true);
repaint();
System.out.print(m[0]+"\t"+m[1]+
"\t"+m[2]+"\t"+m[3]+"\t"+m[04]+"\t");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?