我有一个像这样的十六进制字符串:“0005607947”并想将其转换为十进制数,我在此站点上对其进行了测试,它正确地转换为十进制数,答案是:“90208583”但是当我使用此代码时,我得到了错误的值!我的代码哪里出错了,或者确实有任何代码,针对此问题的一些新代码?
long int decimal_answer = getDEC("0005607947") ;
long int getDEC(String str110) {
long int ID = 0 ;
int len = str110.length() ;
char buff[len] ;
int power = 0 ;
for(int i = 0 ; i <len ; i++) { buff[i] = str110.charAt(i); }
for(int i = (len-1) ; i >=0 ; i--) {
int num = buff[i] - '0' ;
ID = ID + num * pow(16 , power) ;
power = power + 1 ; …Run Code Online (Sandbox Code Playgroud) 我有一个输入字符串,我想删除除特殊字符(十六进制字符)以外的所有字符!像这样 :
String SpecialChar = "0123456789ABCDEF" ; // Hex Char
String input = "abdf%$%23%&373D^!Bfg(g)*a" ;
Run Code Online (Sandbox Code Playgroud)
我想要低于输出,但我得到错误的价值......
String output = "abdf23373DBfgga" ;
Run Code Online (Sandbox Code Playgroud)
我写下面的方法,但它返回错误的值:
private String EliminateExtra(String str) {
String temp = str.toUpperCase();
for (int i = 0 ; i < temp.length() ; i++) {
char c = temp.charAt(i);
if(!isHexNum(c)) {
temp = temp.replaceAll(String.valueOf(c) , "");
}
}
return temp ;
}
private Boolean isHexNum(char c) {
char[] charArray = "0123456789ABCDEF".toCharArray();
for(int y=0 ; y<charArray.length ; y++) {
if(charArray[y]==c) {
return true …Run Code Online (Sandbox Code Playgroud) 我有一个查询使内部连接2表与此col:words表:wid,wname,wsyn,wlevel wordchoice表:wid,ch1,ch2,ch3但是当我想在下面使用此查询时,在log cat i中收到错误!
words table : wid, wname, wsyn, wlevel
wordchoice table :wid, ch1, ch2, ch3
public Cursor getText2() {
SQLiteDatabase db = getReadableDatabase();
String mySQL1= "select w.wid,w.wname,w.wsyn,c.ch1,c.ch2,c.ch3"
+ " from words w INNER JOIN wordchoice c"
+" ON w.wid=c.wid"
+ " where wid=?"
+ " and wlevel=?"
;
String[] args= {"7", "1"};
Cursor c2 = db.rawQuery(mySQL1,args);
c2.moveToFirst();
return c2;
}
Run Code Online (Sandbox Code Playgroud)
有什么问题 ?
logcat:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{ir.project.g5/ir.project.g5.test}: android.database.sqlite.SQLiteException: ambiguous column name: wid: , …Run Code Online (Sandbox Code Playgroud)