Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發牛刀小試之“AA算錢軟件”開發(二)

Android開發牛刀小試之“AA算錢軟件”開發(二)

編輯:關於Android編程

今天主要修改了幾個bug,然後改了下背景圖片和圖標,添加了變動人數的功能,即:指定參與AA的人數,參與AA計算。還有就是利用getResources().getIdentifier()解決了循環調用layout中組件id的問題。

下面是幾段核心代碼:

private class OnClickListenerIreture implements OnClickListener{
		
		@Override
		public void onClick(View arg0) {
			// TODO Auto-generated method stub
			//首先獲取NUMBER,也就是要指定的參與AA的人數
			EditText edt = (EditText) AAcharge.this.findViewById(R.id.ednum);
			NUMBER = Integer.parseInt(edt.getText().toString());
			int stuid[] = new int[NUMBER];
			TextView stu[] = new TextView[NUMBER];
			for (int k =1;k
//主要的AA計算的算法,其實很簡單,首先計算均值,然後每個人付的錢減去均值存到數組中,然後再從小到大排序,之後取第一個非零值,用非零值前面的負值去填這個非零值,直到等於零,再加1.
	public void Calculate(double avg, Person p[]) {
		// TODO Auto-generated method stub
		int i =0;
		int j =0;
		int index=0;
		sort(p);
		for (int k =0;k=0;){
			if (i0){
					p[j].setInfo(p[j].getName()+ "付給" + p[i].getName()+" : "
							+String.valueOf(Math.abs(p[j].getGetmoney()))+"元;"+"\n"+p[j].getInfo());
					p[i].setGetmoney(p[i].getGetmoney()+p[j].getGetmoney());
					j--;
				} else if ((p[i].getGetmoney()!=0) && ((p[i].getGetmoney()+p[j].getGetmoney())==0)){
					p[j].setInfo(p[j].getName()+ "付給" + p[i].getName()+" : "
							+String.valueOf(Math.abs(p[j].getGetmoney()))+"元;"+"\n"+p[j].getInfo());
					p[i].setGetmoney(p[i].getGetmoney()+p[j].getGetmoney());
					i++;
					j--;
				} else if((p[i].getGetmoney()+p[j].getGetmoney())<0){
					p[j].setInfo(p[j].getName()+ "付給" + p[i].getName()+" : "
							+String.valueOf(Math.abs(p[i].getGetmoney()))+"元;"+"\n"+p[j].getInfo());
					p[j].setGetmoney(p[i].getGetmoney()+p[j].getGetmoney());
					i++;
				}
			}
		}
	}

	private int findPosIndex(Person[] p) {
		// TODO Auto-generated method stub
		int index =0;
		for (int i =0;i0) {
				index = i;
				break;
			}
		}
		return index;
	}

	public void sort(Person p[]) {
		// TODO Auto-generated method stub
		Person temp =new Person();
		for (int i =0;ip[j+1].getCost()){
					temp = p[j];
					p[j] = p[j+1];
					p[j+1] = temp;	
				}
			}
		}
	}
}

最後是附上現在的app截圖,有個girl說我太屌絲了,無所謂啦,我就是圖個開心。



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved