[英]Converting string of number to Hex, Binary, and Decimal
我正在嘗試回答以下問題:
使用數組或ArrayList並生成20個隨機數(0到100之間的整數值。100不包括在內)。 該程序應執行以下任務。
將數字從數組或ArrayList寫入文件。
從文件中讀取數字,並以十進制,十六進制和二進制形式在控制台上顯示它們。
到目前為止,我的隨機數生成器運行良好,並且正在寫入文件。 至於重新讀取文件並將文件中的數字顯示為十六進制,十進制和二進制...我完全迷失了。 到目前為止,這是我的意思。
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
public class Write {
public static void main(String[] args) throws IOException {
Random generator = new Random();
ArrayList numList = new ArrayList();
int n = 0;
while( n < 20 ) {
int numGen = generator.nextInt(100);
numList.add(numGen);
n++;
}
String result = numList.toString().replaceAll("[\\[\\]]", "");
result = result.replace(",", " ");
System.out.print(result);
String filePath = "C:/Users/Username/Desktop/FileIOTest/coding_assignment.txt";
File f = new File(filePath);
FileOutputStream fileout = new FileOutputStream (f);
DataOutputStream dataOut = new DataOutputStream(fileout);
dataOut.writeBytes(result);
dataOut.close();
}
}
從您的代碼,您尚未開始編寫用於從文件中讀取數字的代碼。
關於讀取值,可以使用BurreferReader逐行讀取數字。 然后,您可以使用String.split方法使用split(" ")
將數字拆分為一個數組
關於將int值轉換為Binary和Hex模式,可以在Integer
類中使用toBinaryString
和toHexString
方法,例如
我= 20;
System.out.println(i);//Print int value
System.out.println(Integer.toBinaryString(i)); //Print Binary string
System.out.println(Integer.toHexString(i)); // Print Hex string
控制台中的輸出如下:
20
10100
14
我想您應該嘗試自己完成這些行,因此我僅向您提供一些基本信息。
要從文件讀取,三行內容:
fileIn
dataIn
readBytes
這些行應該很容易。 要獲取數字,請使用
split
Integer.ParseInt
並顯示,您可以參考
Integer.toHexString
Integer.toBinaryString
要將數字從10開始轉換為二進制和十六進制 ,您可以簡單地使用以下方法:
Integer.toBinaryString(n);
Integer.toHexString(n);
但是,如果您實際上想自己編寫這些代碼,請嘗試訪問以下網站: http : //www.cs.umd.edu/class/sum2003/cmsc311/Notes/Data/toBaseK.html
它有助於提供一種簡單的算法,該算法可以將基數從10轉換為其他任何數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.