我正在做一个任务,我必须有一个选项来询问用户是否想从任何基础转换为任何其他基础。这里是教练给我们的主:在不带ParseInt的Java中从一个基础转换为另一个基础
import java.util.*;
public class CSCD210Lab21
{
public static void main(String [] args)
{
Scanner kb = new Scanner(System.in);
int choice;
do
{
choice = Lab21Methods.menu(kb);
switch(choice)
{
case 1: Lab21Methods.convert(kb, 10, 2, '0', '1');
break;
case 2: Lab21Methods.convert(kb, 10, 8, '0', '1', '2', '3', '4', '5', '6', '7');
break;
case 3: Lab21Methods.convert(kb, 10, 16, '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
break;
case 4: int fromBase = Lab21Methods.readBase(kb, "from");
char [] fromBaseValues = Lab21Methods.readBaseValues(kb, fromBase);
int toBase = Lab21Methods.readBase(kb, "to");
char [] toBaseValues = Lab21Methods.readBaseValues(kb, toBase);
Lab21Methods.convert(kb, fromBase, fromBaseValues, toBase, toBaseValues);
break;
default: System.out.println("Thanks for using my silly base converter");
}// end switch
}while(choice != 5);
}// end main
}// end class
我关心的主要部分是在switch语句的情况下4。以下是我迄今为止:
public static char [] readBaseValues(Scanner kb, int baseVal)
{
kb = new Scanner(System.in);
System.out.print("Enter Base: ");
baseVal = kb.nextInt();
kb.nextLine();
char valArray[] = new char[baseVal];
for(int i=0; i < valArray.length; i++)
{
System.out.print("Enter Base Value: ");
valArray[i] = kb.nextLine().charAt(0);
}
System.out.print(valArray);
return valArray;
}
public static int readBase(Scanner kb, String type)
{
System.out.println();
System.out.print("Enter Base To Convert "+type+" : ");
int num = kb.nextInt();
return num;
}
我有不知道如何进行转换说一个基地10到基地2不使用parseInt函数。他说,如果我们使用ParseInt,我们会得到0分。我还能如何继续?
BigInteger呢?他有没有提到它? – 2014-12-02 23:11:19
撰写: 您可能不会使用任何Java方法/类进行基础转换。你必须编写你自己的代码。 – dhjdsh 2014-12-02 23:12:36
对不起,我错过了那部分。 – 2014-12-02 23:13:00