錯誤是由於這是忽視爪哇 - 十六進制轉換爲十進制 - 做一個字符串=正確的數字
我最近創建了一個RGB值轉換爲十六進制一個Java程序中的錯誤。現在我正在嘗試制定一個相反的計劃。我已經想出了我將要使用的算法,我只需要將字符A - F
轉換爲值10 - 15
。似乎簡單的權利?這是我遇到問題的地方。
這裏是我到目前爲止的代碼。一個字符串被輸入到nums()
中,然後對照數組abc
進行檢查。一旦找到匹配它需要花費字符串a
,並將其轉換爲整數,然後採取i
,併爲了得到正確的數字加10。
class TextToNum {
String[] abc = { "A", "B", "C", "D", "E", "F" };
public int nums(String a) {
for(int i = 0; i < abc.length; i++) {
if (a == abc[i]) {
a = Integer.parseInt(a.trim());
a = i + 10;
}
}
return a;
}
}
我得到的錯誤是:
gbConv.java:52: incompatible types
found : int
required: java.lang.String
a = Integer.parseInt(a.trim());
^
rgbConv.java:53: incompatible types
found : int
required: java.lang.String
a = i + 10;
^
rgbConv.java:56: incompatible types
found : java.lang.String
required: int
return a;
^
很明顯的東西是錯誤的,但Integer.parseInt()
我不知道如何解決它。我一直在網上看,我找不到任何東西。任何建議/教程將是一個很大的幫助。
通行證基數或解析信前加0X。 – fatfredyy
爲什麼不使用int a = Integer.parseInt(hexString,16)? –
錯誤告訴你到底是什麼問題。你正試圖在這段代碼中使用'a'作爲'String'和'int'。另外,*從不*使用'=='比較'字符串'。這不符合你的想法。 –