利用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();} } }