1. 實現一個小型通訊錄。java
Friend類:public class Friend {
/*
* 姓名
*/
private String name;
/*
* 電話
*/
private String telephone;
/*
* 郵箱
*/
private String email;
/*
* 公司
*/
private String company; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getTelephone() {
return telephone;
} public void setTelephone(String telephone) {
this.telephone = telephone;
} public String getEmail() {
return email;
} public void setEmail(String email) {
this.email = email;
} public String getCompany() {
return company;
} public void setCompany(String company) {
this.company = company;
} public String toString() {
StringBuffer str = new StringBuffer(); str.append("姓名:" + name).append("\n");
str.append("電話:" + telephone).append("\n");
str.append("郵箱:" + email).append("\n");
str.append("公司:" + company).append("\n");
str.append("-----------------------------------------\n");
return str.toString();
}
}AddFriend類:public class AddFriend { /**
* 主方法 程序的入口
*/
public static void main(String[] args) {
List<Friend> friendList = new ArrayList<Friend>();
char isGo = 'Y';
int i = 0;
do {
Friend friend = new Friend();
System.out.println("請輸入第" + (i + 1) + "位朋友的姓名:");
InputStreamReader reader = new InputStreamReader(System.in);
String str = "";
try {
str = (new BufferedReader(reader)).readLine();
} catch (IOException e) {
e.printStackTrace();
}
friend.setName(str); System.out.println("請輸入第" + (i + 1) + "位朋友的電話:"); try {
str = (new BufferedReader(reader)).readLine();
} catch (IOException e) {
e.printStackTrace();
}
if (str.matches("\\d*") && str.length() == 11) {// 判斷用戶輸入的電話是否符合標准
friend.setTelephone(str);
} else {
System.out.println("電話號碼輸入有誤,請重新輸入!");
continue;
} System.out.println("請輸入第" + (i + 1) + "位朋友的郵箱:"); try {
str = (new BufferedReader(reader)).readLine();
} catch (IOException e) {
e.printStackTrace();
}
friend.setEmail(str); System.out.println("請輸入第" + (i + 1) + "位朋友的公司:"); try {
str = (new BufferedReader(reader)).readLine();
} catch (IOException e) {
e.printStackTrace();
}
friend.setCompany(str); friendList.add(friend); i++; System.out.println("是否繼續添加?(Y/N):");
String go = "";
try {
go = (new BufferedReader(reader)).readLine();
} catch (IOException e) {
e.printStackTrace();
}
isGo = go.charAt(0);
} while (isGo == 'Y' || isGo == 'y'); for (int j = 0; j < friendList.size(); j++) {
System.out.println(friendList.get(j).toString());
}
}
}
2. 我想用Java語言寫一個小型的Web進銷存程序,第一次接觸Java想請教如何架構
1、首先建表,商品表(主鍵,商品編號,名稱,價格,數量),如果需要查看每次進貨或銷售的記錄可以建立一個記錄表,定義一個狀態來區分是進貨還是銷售的,如果不需要記錄可以不建。
2、新增商品:在頁面上點擊新增商品時需彈出頁面或彈窗需要輸入商品編號(商品編號可根據一定規則後台自動生成,也可手動輸入),商品名稱,價格,數量。點擊保存將數據傳到後台,再向資料庫商品表中增加一條數據。
3、進貨:點擊頁面上增加進貨的按鈕,彈出彈框,需要輸入商品編號和數量,保存時先商品編號和數量傳到後台,現在後台根據商品編號查詢商品表是否有存在,如果存在根據商品編號將商品數量查出轉為int,與新增加的商品數量相加,然後根據商品編號去修改商品表的數量,成功向前台返回true。商品不存在返回false.前台可根據後台返回的變數來提示是進貨成功還是失敗。
4、銷售:點擊頁面銷售按鈕,彈出彈框,填寫商品編號及數量,然後和進貨的就差不多,根據商品編號查詢數量,用銷售的數量和資料庫中的數量作比較,如果滿足條件在數據中減去相應數量,返回true,不滿足就不要修改資料庫,直接返回false,然後前台判斷後台返回值去提示銷售是否成功。
5、參看庫存:因為進貨和銷售都是直接在商品表中增加或減少的,所以直接查詢商品表的數量就是庫存了,查完在前台展示出來。
6、點擊退出的時候直接返回到登錄頁面就可以。
3. 急!用JAVA編一個小型計算器
這個可以不。
import javax.swing.*;
//import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
//計算器顯示結果的窗體
class Result extends JPanel
{
JTextField text = new JTextField("0"); //text先是輸入和結果
Result()
{
text.setHorizontalAlignment(SwingConstants.RIGHT); //講輸入的數字或得到的結果在text的右邊顯示
text.setEnabled(false); //文本框不能編輯
setLayout(new BorderLayout()); //設定布局管理器邊框布局
add(text, BorderLayout.CENTER); //text放置在窗體的中間
}
}
//計算器數字按鈕定義面板
class Number_Key extends JPanel
{
JButton zero = new JButton("0");//數字鍵0
JButton one = new JButton("1");//數字鍵1
JButton two = new JButton("2");//數字鍵2
JButton three = new JButton("3");//數字鍵3
JButton four = new JButton("4");//數字鍵4
JButton five = new JButton("5");//數字鍵5
JButton six = new JButton("6");//數字鍵6
JButton seven = new JButton("7");//數字鍵7
JButton eight = new JButton("8");//數字鍵8
JButton nine = new JButton("9");//數字鍵9
JButton plus = new JButton("+");
JButton sub = new JButton("-");
JButton mul = new JButton("*");
JButton div = new JButton("/");
JButton equal = new JButton("=");
JButton ce = new JButton("ce");//置零鍵
JButton point = new JButton(".");
JButton tzero = new JButton("00");
Number_Key()
{
setLayout(new GridLayout(6, 3, 10, 10));//定義布局管理器為網格布局
//添加各個按鈕鍵
add(seven);
add(eight);
add(nine);
add(four);
add(five);
add(six);
add(one);
add(two);
add(three);
add(zero);
add(tzero);
add(plus);
add(sub);
add(mul);
add(div);
add(point);
add(equal);
add(ce);
}
}
//計算器主類
class sakura extends JFrame implements ActionListener
{
Result result = new Result();//定義text的面板
Number_Key number_key = new Number_Key();//定義按鈕面板
//當點擊按鈕+、-、*、/時,com = true
boolean com = false;
//當i=0時說明是我們第一次輸入,字元串sum不會累加
int i = 0;
//存放text的內容
String sum = "";
//存放點擊按鈕+、-、*、/之前的數值
double total = 0;
//+、-、*、/的代號分別為1,2,3,4
int symbol = 0;
sakura()
{
super("Calculator");//設定標題
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設定關閉窗體時退出程序
JPanel pane = new JPanel();//定義主面板
pane.setLayout(new BorderLayout());
pane.add(result, BorderLayout.NORTH);
pane.add(number_key, BorderLayout.SOUTH);
number_key.one.addActionListener(this);//對1按鈕添加監聽事件
number_key.two.addActionListener(this);//對2按鈕添加監聽事件
number_key.three.addActionListener(this);//對3按鈕添加監聽事件
number_key.four.addActionListener(this);//對4按鈕添加監聽事件
number_key.five.addActionListener(this);//對5按鈕添加監聽事件
number_key.six.addActionListener(this);//對6按鈕添加監聽事件
number_key.seven.addActionListener(this);//對7按鈕添加監聽事件
number_key.eight.addActionListener(this);//對8按鈕添加監聽事件
number_key.nine.addActionListener(this);//對9按鈕添加監聽事件
number_key.zero.addActionListener(this);//對0按鈕添加監聽事件
number_key.ce.addActionListener(this);//對置零按鈕添加監聽事件
number_key.plus.addActionListener(this);//對+按鈕添加監聽事件
number_key.equal.addActionListener(this);//對=按鈕添加監聽事件
number_key.sub.addActionListener(this);//對-按鈕添加監聽事件
number_key.mul.addActionListener(this);//對*按鈕添加監聽事件
number_key.div.addActionListener(this);//對/按鈕添加監聽事件
number_key.tzero.addActionListener(this);//對00按鈕添加監聽事件
number_key.point.addActionListener(this);//對.按鈕添加監聽事件
setContentPane(pane);
pack();//初始化窗體大小為正好盛放所有按鈕
}
//各個按鈕觸發的事件
public void actionPerformed(ActionEvent e) {
/*如果是點擊數字按鈕那麼先要判斷是否在此之前點擊了+、-、*、/、=,如果是那麼com=true
* 如果沒有com= false;或者是否點擊數字鍵,如果是i = 1,如果沒有 i = 0;
**/
if (e.getSource() == number_key.one)
{
if (com || i == 0)
{
result.text.setText("1");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "1");
}
}
else if (e.getSource() == number_key.two)
{
if (com || i == 0)
{
result.text.setText("2");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "2");
}
}
else if (e.getSource() == number_key.three)
{
if (com || i == 0)
{
result.text.setText("3");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "3");
}
}
else if (e.getSource() == number_key.four)
{
if (com || i == 0)
{
result.text.setText("4");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "4");
}
}
else if (e.getSource() == number_key.five)
{
if (com || i == 0)
{
result.text.setText("5");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "5");
}
}
else if (e.getSource() == number_key.six)
{
if (com || i == 0)
{
result.text.setText("6");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "6");
}
}
else if (e.getSource() == number_key.seven)
{
if (com || i == 0)
{
result.text.setText("7");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "7");
}
}
else if (e.getSource() == number_key.eight)
{
if (com || i == 0)
{
result.text.setText("8");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "8");
}
}
else if (e.getSource() == number_key.nine)
{
if (com || i == 0)
{
result.text.setText("9");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
result.text.setText(sum + "9");
}
}
/*對於0這個按鈕有一定的說法,在我的程序里不會出現如00000這樣的情況,我加了判斷條件就是
* 如果text中的數值=0就要判斷在這個數值中是否有.存在?如果有那麼就在原來數值基礎之上添
* 加0;否則保持原來的數值不變
*/
else if (e.getSource() == number_key.zero)
{
if (com || i == 0)
{
result.text.setText("0");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
if (Float.parseFloat(sum) > 0 || Float.parseFloat(sum) < 0)
{
result.text.setText(sum + "0");
}
else
{
if (sum.trim().indexOf(".") == -1)
{
result.text.setText(sum);
}
else
{
result.text.setText(sum + "0");
}
}
}
}
else if (e.getSource() == number_key.ce)
{
result.text.setText("0");
i = 0;
com = true;
}
else if (e.getSource() == number_key.tzero)
{
if (com || i == 0)
{
result.text.setText("0");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
if (Float.parseFloat(sum) > 0 || Float.parseFloat(sum) < 0)
{
result.text.setText(sum + "00");
}
else
{
if (sum.trim().indexOf(".") == -1)
{
result.text.setText(sum);
}
else
{
result.text.setText(sum + "00");
}
}
}
}
/*本程序不會讓一個數值中出現2個以上的小數點.具體做法是:判斷是否已經存在.存在就不添加,
* 不存在就添加.
*/
else if (e.getSource() == number_key.point)
{
if (com || i == 0)
{
result.text.setText("0.");
com = false;
i = 1;
}
else
{
sum = result.text.getText();
if (sum.trim().indexOf(".") == -1)
{
result.text.setText(sum + ".");
}
else
{
result.text.setText(sum);
}
}
}
//獲得點擊+之前的數值
else if (e.getSource() == number_key.plus)
{
com = true;
i = 0;
total = Double.parseDouble(result.text.getText());
symbol = 1;
}//獲得點擊-之前的數值
else if (e.getSource() == number_key.sub)
{
com = true;
i = 0;
total = Double.parseDouble(result.text.getText());
symbol = 2;
}//獲得點擊*之前的數值
else if (e.getSource() == number_key.mul)
{
com = true;
i = 0;
total = Double.parseDouble(result.text.getText());
System.out.println(total);
symbol = 3;
}//獲得點擊/之前的數值
else if (e.getSource() == number_key.div)
{
com = true;
i = 0;
total = Double.parseDouble(result.text.getText());
symbol = 4;
}
else if (e.getSource() == number_key.equal)
{
switch (symbol)
{
case 1 ://計算加法
{
double ad =
total + Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
sum = "";
break;
}
case 2 ://計算減法
{
double ad =
total - Double.parseDouble(result.text.getText());
result.text.setText(String.valueOf(ad));
i = 0;
sum = "";
break;
}
case 3 ://計算乘法
{
double ad =
total * Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
sum = "";
break;
}
case 4 ://計算除法
{
double ad =
total / Double.parseDouble(result.text.getText());
result.text.setText(ad + "");
i = 0;
sum = "";
break;
}
}
System.out.println(com);
}
}
public static void main(String[] args)
{
sakura ww = new sakura();
ww.setVisible(true) ;
}
}
4. java 項目 代碼行數多少 算大項目
java項目的大小衡量標准:
微型:只是一個人,甚至是半日工作在幾天內完成的軟體;
小型:一個人半年內完成的2000行以內的程序;
中型:5個人在1年多的時間內完成的5000-50000行的程序;
大型:5-10人在兩年內完成的50000-100000行的程序;
甚大型:100-1000人參加用4-5年完成的具有100,0000行的軟體項目;
極大型:2000-5000人參加,10年內完成的1000萬行以內的程序;
以上摘自:《軟體工程概論》鄭人傑、殷人民編
這樣的觀點是以代碼行作為計量標準的,認為代碼行多的自然項目也就大了。