0
我寫將會從文件中讀取一個字符串,然後刪除任何不是1-9或A-Z或A-Z的程序。 A-Z值需要變成小寫。一切似乎運行良好,我沒有任何錯誤,但是我的輸出是混亂的。無論如何,它似乎都會跳過某些字符。我已經看過並調整它,但沒有任何作用。無法弄清楚爲什麼它會隨機跳過某些字符,因爲我相信我的if語句是正確的。下面是代碼:字符串不填充正確
String dataIn;
int temp;
String newstring= "";
BufferedReader file = new BufferedReader(new FileReader("palDataIn.txt"));
while((dataIn=file.readLine())!=null)
{
newstring="";
for(int i=0;i<dataIn.length();i++)
{
temp=(int)dataIn.charAt(i);
if(temp>46&&temp<58)
{
newstring=newstring+dataIn.charAt(i);
}
if(temp>96&&temp<123)
{
newstring=newstring+dataIn.charAt(i);
}
if(temp>64&&temp<91)
{
newstring=newstring+Character.toLowerCase(dataIn.charAt(i));
}
i++;
}
System.out.println(newstring);
}
所以給你一個例子,我讀出第一串是:
A sample line this is.
我的程序後,該輸出貫穿它是這樣的:
asmlietis
所以它是讀取A使其小寫,跳過像它想的空間,讀入S,但後來由於某些原因跳過了「A」和「m」和轉移到「p」。
我這樣做了,但現在我的輸出是'asmlietis',所以它仍然在跳過字符。 – Student
@Student - 你還沒有刪除最後一個'i ++'。 –
謝謝,我不知道爲什麼我一直希望在for語句中增加它,應該已經意識到它本身在做它。 – Student