schoolContext.Set<Standard>().Attach(standardEf);
此代码正在为扫描程序正常运行,但如果我尝试使用缓冲读取器或字符串标记生成器,则会产生运行时错误。 我是java新手,我需要使用大整数来解决问题的其他部分。
答案 0 :(得分:0)
您的代码没有任何问题。您将BufferReader
定义为BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
,将String
定义为br.readLine();
。
此代码段完全正常,并将输入字符串打印回控制台:
public static void main (String[] args)
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println(br.readLine());
}
您可能会遇到错误的一些可能性:
的StringTokenizer
StringTokenizer st = new StringTokenizer(br.readLine());
在将其传递给StringTokenizer
之前,请确保从br.readLine()
返回字符串。
String text = br.readLine();
if(!StringUtils.isEmpty(text)) {
StringTokenizer st = new StringTokenizer(br.readLine());
/* Rest of the code */
}
循环条件变量
for(i=1;i<=n;i++)
我没有看到BufferedReader
初始化n
的任何内容。确保正确初始化。
以下是快速代码段:
public static void main (String[] args) throws Exception
{
long j, n, f, mm = 1000000007;
int i, x;
BigInteger u, sum, temp, m;
BigInteger[] a = new BigInteger[100009]; long[] b=new long[100009];
Scanner har = new Scanner(System.in);
long t = har.nextInt();
for(f=0;f<t;f++)
{
temp = BigInteger.valueOf(1);
sum = BigInteger.valueOf(0);
u = BigInteger.valueOf(0);
n = har.nextInt();
x = har.nextInt();
m = har.nextBigInteger();
/* Goto Next Line */
har.nextLine();
/* Start Reading Line */
String text = har.nextLine();
System.out.println("String Value: " + text);
if(null != text) {
StringTokenizer st = new StringTokenizer(text);
for(i = 1; i <= n; i++)
{
b[i] = Integer.parseInt(st.nextToken());
System.out.println("Value of b[" + i + "] = " + b[i]);
}
}
}
}