[英]Initializing a string in java error
在 netbeans 上運行這段代碼時,它總是運行 if 語句塊,但在 HackerRank 代碼編輯器上編譯它時,它總是進入 else 語句。 幫我解決這個錯誤。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
class Person {
public static void main(String[] args) throws Exception{
Scanner sc=new Scanner(System.in);
BufferedReader sb=new BufferedReader(new InputStreamReader(System.in));
int T=sc.nextInt();
for(int j=0;j<T;j++)
{String s="";
s=sb.readLine();
StringBuffer even=new StringBuffer();
StringBuffer odd=new StringBuffer();
if(s!=null)
{for(int i=0;i<s.length();i++)
{
if(i%2==0)
even.append(s.charAt(i));
else
odd.append(s.charAt(i));
}
System.out.println(even+" "+odd);
}
else
System.out.println("Enter some input");
}
}
}
你為什么同時使用scanner
和bufferedreader
? 嘗試使用掃描儀的next()
方法代替
s=sc.next();
如果您想使用bufferedreader
嘗試使用這兩個語句。
int T=Integer.parseInt(sb.readLine());
for(int j=0;j<T;j++)
{
String s=sb.readLine();
有一次,如果您讓scanner
和bufferedreader
讀取器都偵聽來自輸入流的輸入,那么bufferedreader
讀取器如何知道直到讀取輸入的位置? (但scanner
知道它)這就是它返回null
的原因。 我希望你理解它。
為了簡單起見,只需使用scanner
或bufferedreader
不要同時使用兩者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.