最近又開始玩android
當要debug的時候竟然出現錯誤
訊息"Error generating final archive: Debug Certificate expired on....."
原因不明,所以就google一下
原來是憑證到期了
解法如下:
第一步: 把"C:\Documents and Settings\user\.android"裡的debug.keystore檔刪除
第二步: 點開時間與日期內容,選時區
第三步: 更新時間,後按確定
第四步: 在eclipse重新建一個專案
第五步: 直接debug讓它重新建置 debug.keystore檔
這樣就OK囉!
參考文章
2012年3月19日 星期一
2012年3月9日 星期五
2012年3月8日 星期四
2012年3月5日 星期一
Java 羅馬數字
import java.util.*;
public class RomeNumber{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String str [] = sc.nextLine().split(" ");
if(str[0].equals("#")){
break;
}
int a = transformIntNumber(str[0]);
int b = transformIntNumber(str[1]);
int sum = Math.abs(a - b);
if( sum == 0){
System.out.println("ZERO");
}
else{
System.out.println(transformRomeNumber(sum));
}
}
}
public static int transformIntNumber(String s){
int count = 0;
int a [] = new int [s.length()];
for(int i = 0; i < a.length; i++){
switch(s.charAt(i)){
case 'I':
a[i] = 1;
break;
case 'V':
a[i] = 5;
break;
case 'X':
a[i] = 10;
break;
case 'L':
a[i] = 50;
break;
case 'C':
a[i] = 100;
break;
case 'D':
a[i] = 500;
break;
case 'M':
a[i] = 1000;
break;
}
}
for(int i = 0; i < a.length; i++){
if( i == (a.length - 1)){
count += a[i];
break;
}
else if( a[i] < a[i+1] ){
count -= a[i];
}
else{
count += a[i];
}
}
return count;
}
public static String transformRomeNumber(int a){
String str = "";
int index;
String rome [] = {"I","V","X","L","C","D","M"};
int num [] = {1,5,10,50,100,500,1000};
Arrays.sort(num);
while( a > 0 ){
index = Arrays.binarySearch(num, a);
if(index == -8){
index = 6;
}else if(index < 0){
index = -1 * index -2;
int i = index / 2 * 2;
if(a + num[i] >= num[index + 1]){
str += rome[i];
a += num[i];
index++;
}
}
str += rome[index];
a -= num[index];
}
return str;
}
}
題目
參考程式
訂閱:
文章 (Atom)