问题一:
1.为实验一的任务3设计图形界面:某商场为了促销,采用了打折的优惠活动。每位顾客一次购物达到500元以上,给予95%的优惠;达到1000元以上,给予90%的优惠;达到1500元以上,给予85%的优惠;达到2500元以上,给予80%的优惠。程序运行后,用户在图形界面输入购物金额,程序计算经过优惠后顾客应付的实际金额,结果保留两位小数,并告知用户。
下面展示一些 内联代码片
。
建议使用JFrameDesigner
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* @author
*/
public class test3 extends JFrame {
public test3() {
initComponents();
}
public static void main(String[] args) {
new test3();
}
private void button1ActionPerformed(ActionEvent e) {
// TODO add your code here
String s = textField1.getText();
int N = Integer.parseInt(s);
double sum = N;
if(N < 500){
JOptionPane.showMessageDialog(this,"您需要支付的金额为:"+sum);
System.out.printf("%.2f",sum);
System.out.println();
}else if(N < 1000){
JOptionPane.showMessageDialog(this,"您需要支付的金额为:"+sum*0.95);
System.out.printf("%.2f",sum*0.95);
System.out.println();
}else if(N < 1500){
JOptionPane.showMessageDialog(this,"您需要支付的金额为:"+sum*0.90);
System.out.printf("%.2f",sum*0.90);
System.out.println();
}else if(N < 2500){
JOptionPane.showMessageDialog(this,"您需要支付的金额为:"+sum*0.85);
System.out.printf("%.2f",sum*0.85);
System.out.println();
}else{
JOptionPane.showMessageDialog(this,"您需要支付的金额为:"+sum*0.80);
System.out.printf("%.2f",sum*0.80);
System.out.println();
}
}
private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
// Generated using JFormDesigner Evaluation license
label1 = new JLabel();
textField1 = new JTextField();
button1 = new JButton();
//======== this ========
setVisible(true);
setTitle("消费金额");
setDefaultCloseOperation(3);
var contentPane = getContentPane();
contentPane.setLayout(null);
//---- label1 ----
label1.setText("\u8bf7\u8f93\u5165\u8d2d\u7269\u91d1\u989d");
label1.setFont(label1.getFont().deriveFont(label1.getFont().getSize() + 7f));
contentPane.add(label1);
label1.setBounds(180, 40, 165, 55);
contentPane.add(textField1);
textField1.setBounds(130, 115, 285, 55);
//---- button1 ----
button1.setText("\u786e\u5b9a");
button1.setFont(button1.getFont().deriveFont(button1.getFont().getSize() + 7f));
button1.addActionListener(e -> button1ActionPerformed(e));
contentPane.add(button1);
button1.setBounds(170, 205, 200, 85);
{
// compute preferred size
Dimension preferredSize = new Dimension();
for(int i = 0; i < contentPane.getComponentCount(); i++) {
Rectangle bounds = contentPane.getComponent(i).getBounds();
preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
}
Insets insets = contentPane.getInsets();
preferredSize.width += insets.right;
preferredSize.height += insets.bottom;
contentPane.setMinimumSize(preferredSize);
contentPane.setPreferredSize(new Dimension(500,400));
}
pack();
setLocationRelativeTo(getOwner());
// JFormDesigner - End of component initialization //GEN-END:initComponents
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
// Generated using JFormDesigner Evaluation license
private JLabel label1;
private JTextField textField1;
private JButton button1;
// JFormDesigner - End of variables declaration //GEN-END:variables
}
问题二:
2. 为实验一的任务4设计图形界面:编写一个简单的模拟抽奖程序(模拟抽奖3.0),程序运行后会随机生成5个116幸运号码,然后在图形界面提示“请您抽奖”,等待用户输入5个116不重复的整数作为抽奖号码。开始抽奖后,程序判断用户输入的号码与系统生成的幸运号码是否一致,给出用户中奖结果。抽奖规则:如果用户输入的号码中分别有5、4、3个号码与幸运号码一致,则分别判定为一等奖、二等奖、三等奖,否则判定为未中奖。要求给出必要的提示信息,如输入号码的数值范围限制;提供关闭按钮或菜单项,当用户希望结束抽奖时可以自主退出程序的运行。
下面展示一些 内联代码片
。
这孩子使用的插件做的--JFrameDesignner
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
/**
* @author
*/
public class test4 extends JFrame {
Random r = new Random();
int a[] = new int[5];
public test4() {
Ran();
initComponents();
}
public static void main(String[] args) {
new test4();
}
private void Ran(){
for (int i = 0; i < a.length; i++) {
a[i] = r.nextInt(16)+1;
for (int i1 = 0; i1 < i; i1++) {
if(a[i]==a[i1]){
while(true){
a[i] = r.nextInt(16)+1;
if(a[i]!=a[i1]){
break;
}
}
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
}
//确定按钮的监听
private void button1ActionPerformed(ActionEvent e) {
// TODO add your code here
String s1 = textField1.getText();
String s2 = textField2.getText();
String s3 = textField3.getText();
String s4 = textField4.getText();
String s5 = textField5.getText();
if(s1.equals("")||s2.equals("")||s3.equals("")||s4.equals("")||s5.equals("")){
JOptionPane.showMessageDialog(null,"请输入完全");
}else{
int n1 = Integer.parseInt(s1);
int n2 = Integer.parseInt(s2);
int n3 = Integer.parseInt(s3);
int n4 = Integer.parseInt(s4);
int n5 = Integer.parseInt(s5);
jud(n1,n2,n3,n4,n5);
}
}
//判断输入的数据是否符合要求
public void jud(int n1,int n2,int n3,int n4,int n5){
if(n1<1||n1>16||n2<1||n2>16||n3<1||n3>16||n4<1||n4>16||n5<1||n5>16){
JOptionPane.showMessageDialog(null,"请在1~16之间输入数字");
}
if(!(n1<1||n1>16||n2<1||n2>16||n3<1||n3>16||n4<1||n4>16||n5<1||n5>16)){
int cnt=0;
for (int i1 = 0; i1 < a.length; i1++) {
if(n1==a[i1]){
cnt++;
}
if(n2==a[i1]){
cnt++;
}
if(n3==a[i1]){
cnt++;
}
if(n4==a[i1]){
cnt++;
}
if(n5==a[i1]){
cnt++;
}
}
if(cnt<3){
JOptionPane.showMessageDialog(null,"很遗憾,您未中奖!");
System.out.println("很遗憾,您未中奖!");
}else if(cnt==3){
JOptionPane.showMessageDialog(null,"恭喜您中了三等奖!");
System.out.println("恭喜您中了三等奖!");
}else if(cnt==4){
JOptionPane.showMessageDialog(null,"恭喜您中了二等奖!");
System.out.println("恭喜您中了二等奖!");
}else if(cnt==5){
JOptionPane.showMessageDialog(null,"恭喜您中了一等奖!");
System.out.println("恭喜您中了一等奖!");
}
}
}
private void button2ActionPerformed(ActionEvent e) {
// TODO add your code here
System.exit(0);
}
private void initComponents() {
// JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
// Generated using JFormDesigner Evaluation license
label1 = new JLabel();
textField1 = new JTextField();
label2 = new JLabel();
label3 = new JLabel();
label4 = new JLabel();
label5 = new JLabel();
button1 = new JButton();
textField2 = new JTextField();
textField3 = new JTextField();
textField4 = new JTextField();
textField5 = new JTextField();
button2 = new JButton();
//======== this ========
setVisible(true);
setTitle("抽奖");
setDefaultCloseOperation(3);
var contentPane = getContentPane();
contentPane.setLayout(null);
//---- label1 ----
label1.setText("\u53f7\u78011");
contentPane.add(label1);
label1.setBounds(30, 25, 65, 35);
contentPane.add(textField1);
textField1.setBounds(85, 20, 160, 50);
//---- label2 ----
label2.setText("\u53f7\u78012");
contentPane.add(label2);
label2.setBounds(275, 25, 60, 40);
//---- label3 ----
label3.setText("\u53f7\u78013");
contentPane.add(label3);
label3.setBounds(25, 95, 40, 35);
//---- label4 ----
label4.setText("\u53f7\u78014");
contentPane.add(label4);
label4.setBounds(270, 95, 50, 30);
//---- label5 ----
label5.setText("\u53f7\u78015");
contentPane.add(label5);
label5.setBounds(20, 160, 45, 30);
//---- button1 ----
button1.setText("\u786e\u5b9a");
button1.setFont(button1.getFont().deriveFont(button1.getFont().getSize() + 5f));
button1.addActionListener(e -> button1ActionPerformed(e));
contentPane.add(button1);
button1.setBounds(85, 235, 160, 55);
contentPane.add(textField2);
textField2.setBounds(350, 20, 160, 50);
contentPane.add(textField3);
textField3.setBounds(85, 85, 160, 50);
contentPane.add(textField4);
textField4.setBounds(350, 85, 160, 50);
contentPane.add(textField5);
textField5.setBounds(85, 155, 160, 50);
//---- button2 ----
button2.setText("\u5173\u95ed\u7a0b\u5e8f");
button2.setFont(button2.getFont().deriveFont(button2.getFont().getSize() + 6f));
button2.addActionListener(e -> button2ActionPerformed(e));
contentPane.add(button2);
button2.setBounds(305, 235, 180, 55);
{
// compute preferred size
Dimension preferredSize = new Dimension();
for(int i = 0; i < contentPane.getComponentCount(); i++) {
Rectangle bounds = contentPane.getComponent(i).getBounds();
preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
}
Insets insets = contentPane.getInsets();
preferredSize.width += insets.right;
preferredSize.height += insets.bottom;
contentPane.setMinimumSize(preferredSize);
contentPane.setPreferredSize(new Dimension(600,400));
}
pack();
setLocationRelativeTo(getOwner());
// JFormDesigner - End of component initialization //GEN-END:initComponents
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
// Generated using JFormDesigner Evaluation license
private JLabel label1;
private JTextField textField1;
private JLabel label2;
private JLabel label3;
private JLabel label4;
private JLabel label5;
private JButton button1;
private JTextField textField2;
private JTextField textField3;
private JTextField textField4;
private JTextField textField5;
private JButton button2;
// JFormDesigner - End of variables declaration //GEN-END:variables
}
初学图像化界面,不当之处,欢迎大佬指正