我在每次迭代期間掃描2個字符串並將其存儲在s和t中。僅在第一次迭代期間,我掃描的第一個字符串被存儲在t中,而不是在s中(我通過在eclipse中調試瞭解了這一點)。在連續的迭代過程中,這段代碼可以正常工作。我無法理解第一次迭代期間發生了什麼。請幫幫我。謝謝。無法在第一次迭代中接受兩個字符串,但在連續迭代中工作正常
import java.io.*;
import java.util.*;
public class ResidentInfo {
public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
Scanner scan = new Scanner(System.in);
int i,n;
n = scan.nextInt();
for(i=0 ; i<n ; i++)
{
int sl,tl,j,k;
String s, t;
boolean flag = false;
s = scan.nextLine();
t = scan.nextLine();
sl = s.length();
tl = t.length();
char[] sa = new char[sl];
char[] ta = new char[tl];
sa = s.toCharArray();
ta = t.toCharArray();
for(j=0 ; j<sl ; j++)
{
for(k=0 ; k<tl ; k++)
{
if(sa[j]==ta[k])
{
flag = true;
break;
}
}
if(flag)
{
break;
}
}
if(flag)
{
System.out.println("YES");
}
else
{
System.out.println("NO");
}
}
}
}
,什麼是存儲在's'。此外,爲了調試問題,您可以在代碼中添加多個打印語句(在發現問題後將其刪除)。 –
@ redflar3我在鍵盤上獲取用戶的字符串輸入並將其存儲在s中。但只有在第一次迭代時,for循環內的代碼才能正常工作。第一次迭代中沒有任何內容存儲在s中。 –
你的程序做什麼?你在輸入什麼?預期的結果是什麼,實際結果是什麼? –