利用java编写代码实现如下功能,需要全部代码

怎么用Java代码实现以下功能?(详细代码)~

public class Draw {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("会员卡号: ");
String input = scanner.next().substring(0, 4);
int sum = 0;
for (char c : input.toCharArray()) {
sum += Integer.parseInt(String.valueOf(c));
}
System.out.println(sum > 20 ? "幸运顾客" : "不是幸运顾客");
}
}

NewPhone类
package com.baidu.question;public class NewPhone extends Phone { private boolean mute = true; @Override public void call() { if(mute){ super.call(); }else{ System.out.println("语音已关闭"); } } //这里是直接设置 public void setMute(boolean mute){ this.mute=mute; } //担心你的题目是要求两种方法,写的第二种,下面两个方法负责开关 public void openMute(){ this.mute=true; /* * 也可以这样写 * setMute(true); * 下边的方法一样 * */ } public void closeMute(){ this.mute = false; }}Phone类
package com.baidu.question;public class Phone { public void call(){ System.out.println("打电话"); }}测试类
package com.baidu.question;public class PhoneTest { public static void main(String[] args) { Phone phone = new Phone(); phone.call(); NewPhone newPhone = new NewPhone(); newPhone.call(); newPhone.setMute(false); newPhone.call(); newPhone.openMute(); newPhone.call(); newPhone.closeMute(); newPhone.call(); }}测试结果
打电话
打电话
语音已关闭
打电话
语音已关闭

很简单的应用,为了节省字数,代码注释我就不加了

首先是显示层,LoinWindow:

import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

public class LoinWindow extends JFrame implements ActionListener, FocusListener {
private JPanel mainPanel, namePanel, btnPanel;
private JTextField tfName, tfPsd;
private JButton btnLogin, btnCancel;

private static final int WIDTH = 300;
private static final int HEIGHT = 200;

private LoginService service = new LoginService();

public LoinWindow() {
super("登录窗体");
}

public void launch() {
setSize(WIDTH, HEIGHT);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);

GridLayout mainLayout = new GridLayout(2, 1);
mainLayout.setVgap(10);
mainPanel = new JPanel(mainLayout);

GridBagLayout nameLayout = new GridBagLayout();
namePanel = new JPanel(nameLayout);
namePanel.setBorder(new EmptyBorder(10, 10, 10, 10));
JLabel nameLabel = new JLabel("姓名:");
tfName = new JTextField();
JLabel psdLabel = new JLabel("密码:");
tfPsd = new JTextField();
JLabel blank = new JLabel(" ");
namePanel.add(nameLabel);
namePanel.add(tfName);
namePanel.add(blank);
namePanel.add(psdLabel);
namePanel.add(tfPsd);

GridBagConstraints s = new GridBagConstraints();
s.fill = GridBagConstraints.BOTH;

s.gridwidth = 1;
s.weightx = 0;
s.weighty = 0;
nameLayout.setConstraints(nameLabel, s);

s.gridwidth = 0;
s.weightx = 1;
s.weighty = 0;
nameLayout.setConstraints(tfName, s);

s.gridwidth = 0;
s.weightx = 4;
s.weighty = 0;
nameLayout.setConstraints(blank, s);

s.gridwidth = 1;
s.weightx = 0;
s.weighty = 0;
nameLayout.setConstraints(psdLabel, s);

s.gridwidth = 3;
s.weightx = 1;
s.weighty = 0;
nameLayout.setConstraints(tfPsd, s);

FlowLayout btnLayout = new FlowLayout();
btnLayout.setAlignment(FlowLayout.CENTER);
btnPanel = new JPanel(btnLayout);
btnLogin = new JButton("确定");
btnCancel = new JButton("取消");
btnPanel.add(btnLogin);
btnPanel.add(btnCancel);

btnCancel.addActionListener(this);
btnLogin.addActionListener(this);

mainPanel.add(namePanel);
mainPanel.add(btnPanel);
setContentPane(mainPanel);

tfName.addFocusListener(this);
tfPsd.addFocusListener(this);

pack();
setSize(WIDTH, HEIGHT);
setLocationRelativeTo(null);
}

@Override
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if(source == btnCancel) {
System.exit(0);
} else if(source == btnLogin) {
String username = tfName.getText();
String password = tfPsd.getText();
boolean success = service.login(username, password);
if(success) {
warn("成功", "登录成功!");
} else {
warn("失败", "您输入的用户名或密码错误 !");
}
}
}

@Override
public void focusGained(FocusEvent arg0) {
}
@Override
public void focusLost(FocusEvent e) {
Object source = e.getSource();
if(source == tfName) {
String username = tfName.getText();
try {
service.matchUsername(username);
} catch (LoginException e1) {
warn("验证错误", e1.getMessage());
}
} else if(source == tfPsd) {
String password = tfPsd.getText();
try {
service.matchPassword(password);
} catch (LoginException e1) {
warn("验证错误", e1.getMessage());
}
}
}

private void warn(String title, String msg) {
JOptionPane.showMessageDialog(null, msg, title, JOptionPane.INFORMATION_MESSAGE);
}

public static void main(String[] args) {
new LoinWindow().launch();
}

}

然后是模型层:LoginDao

public class LoginDao {
public boolean login(String username, String password) {
if(username.equals("admin") && password.equals("12345")) {
return true;
}
return false;
}
}

LoginService

import java.util.regex.Pattern;
public class LoginService {
private static final Pattern LOGIN_PATTERN = Pattern.compile("[a-zA-Z]+");
private static final Pattern PASSWORD_PATTERN = Pattern.compile("[1-9]+");

private LoginDao dao = new LoginDao();

public boolean matchUsername(String username) throws LoginException {
if(null == username || username.isEmpty()) {
return false;
}
if(!LOGIN_PATTERN.matcher(username).matches()) {
throw new LoginException("您输入的用户名不合法,请输入英文!");
}
return true;
}

public boolean matchPassword(String password) throws LoginException {
if(null == password || password.isEmpty()) {
return false;
}
if(!PASSWORD_PATTERN.matcher(password).matches()) {
throw new LoginException("您输入的密码不合法,请输入数字!");
}
return true;
}

public boolean login(String username, String password) {
if(null == username || username.isEmpty()) {
return false;
}
if(null == password || password.isEmpty()) {
return false;
}
if(!dao.login(username, password)) {
return false;
}
return true;
}
}

LoginException

public class LoginException extends Exception {

public LoginException(String arg0) {
super(arg0);
}

}

不知道分层设计思想是不是我想的这样



居中有个很简单的方法。
全部代码倒是不难,不过这里应该贴不了这么长的代码。

就100分 还.......

利用java编程编写代码,实现如下功能:
答:package example;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;pu...

用JAVA编写一个程序,要求如下:
答:实现代码如下:Student类:public class Student {private String name;private String sex;private int age;private double chinese;private double math;private double english;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {r...

java编写程序实现以下功能
答:(1)产生5000个1~9999之间的随机整数,并将其存入文本文件a.txt中。(2)从文件中读取这五千个整数,并计算其最大值、最小值、平均值。/ import java.io.*;import java.util.*;public class Test { public static void main(String[] args) { String fileName = "a.txt";WriteData(5000, ...

java编写一个奶茶点单程序代码怎么写?
答:import java.util.Scanner;public class MilkTeaOrder { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.println("欢迎来到奶茶店!");System.out.println("请选择您的口味:");System.out.println("1. 原味奶茶");System.out.println("2. 珍珠...

java编写一个程序,实现功能(定义一个类学生表示学生1. 增加学生2显示...
答:1.Student.java代码如下/** * 2016年5月12日上午11:03:22 * * @author 3306 TODO 建立学生实体类 * */public class Student { private String stuNo;// 学号 private String stuName;// 姓名 public Student() { super(); } public Student(String stuNo, String stu...

java 3. 编写一程序,实现如下功能:
答:利用Random+for循环取随机数,循环中每个随机数和之前定义的最小数和最大数比较,并记录下标。代码如下:public class Test9 {public static void main(String[] args) {Random r = new Random();int[] arr = new int[50];int max, indexMax = 0, indexMin = 0;int min = r.nextInt(34...

求一段实现如下界面的java代码,只需要界面就行了,在线等
答:求一段实现如下界面的java代码,只需要界面就行了,在线等 100分献上,因为小弟没有用java做过界面,所以不是很熟悉,但是现在要用到,我知道这个不是很难,求能够直接运行的代码,里面的事件监听我自己来写,先谢谢了... 100分献上,因为小弟没有用java做过界面,所以不是很熟悉,但是现在要用到,我知道这个不是很...

编写一个Java程序,完成如下功能:
答:这个题可以使用switch-case语句来解决,首先创建简单文本扫描器,然后从键盘读入0~9或字母a,然后通过开关语句进行匹配,进而输出结果,代码如下:在main()方法中调用,在控制台输入,验证输出,效果如下:

在java中编写程序,定义一个学生类
答:代码如下:package exam2;import java.util.ArrayList;import java.util.List;/ 编写一个Java应用程序,该程序包括3个类:定义一个学生类,Student有姓名,学号,选学的课程列表 定义一个课程类:课程名称,课程分数 (1)初始化一个学生,选择了三门课程,并添加到学生的属性中 (2)实现统计学生的总分...

怎么用java编写程序实现九九乘法表?
答:代码如下:public class qct { public static void main(String[] args){ int i=0;int j=0;for(i=1;i<=9;i++){ for(j=i;j<=9;j++)System.out.print(i+"*"+j+"="+i*j+"\t");System.out.println();} } }

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网