簡體   English   中英

BlueJ-我的程序編譯沒有錯誤,但是沒有運行

[英]BlueJ - My program compiles with no errors but doesn't run

您好,我遇到了一個程序,該程序應該接收一個字符串,然后使用Character Wrapper類將每個單詞的首字母大寫。

 import java.util.*;
public class wrapper
{
    public static void main(String[] args)
    {
        Scanner input= new Scanner(System.in);
        String s1;
        s1=input.nextLine();
        s1= s1.trim();
        int howLong= s1.length();
        int i;
        int counter=0;
        char cho;
        for(counter=1; counter<= howLong+1; counter++)
        {
            cho=s1.charAt(counter);
            if(Character.isLetter (cho) && ! Character.isLetter(s1.charAt(counter-1)))
            {
                System.out.print( Character.toUpperCase(cho) );
            }
            else
            {
                System.out.print(cho);
            }
            System.out.println();
        }

        }
    }

到目前為止,這是程序,但是根據BlueJ編譯時沒有錯誤,但它沒有運行。 關於為什么會發生這種情況的任何幫助都將是巨大的。

編輯:將該程序更改為我認為將使它不僅打印出char變量已初始化為的空格,而且仍然無法運行。 循環可能有問題嗎?

您的程序編譯但無法運行的原因是因為行s1=input.nextLine(); 在這一行,程序正在等待來自用戶的輸入以用作字符串s1 ,但並未顯示終端,以便用戶提供此類輸入。 解決此問題的一種方法是強制終端在該行之前顯示自己。 我建議您將類似

System.out.println("Enter input:");

在此行之前,以便終端將顯示自己並且用戶可以在其中輸入輸入。 從那里,您可以像往常一樣處理該程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM