2016-09-19 3 views
-1

私はユーザーが入力した文字列を、プログラムの後のメインに呼び出すためにいくつかの新しいメソッドで変更しようとしています。現在のところ、このコードは機能していません。これらのメソッドの戻り値をプログラムの後のメインに呼び出すための正しい方法について、いくつかの提案やいくつかの提案をいただければ幸いです。これらのメソッドの戻り値をプログラムの後半でメインに呼び出すようにします

import java.util.Scanner; 

public class TextAnalyzer { 
    /*takes the user input and counts total characters to be called later.*/ 
    public static int getNumOfCharacters(int textLength) { 
     Scanner scnr = new Scanner(System.in); 
     String usrText = ""; 

     usrText = scnr.nextLine(); 
     textLength = usrText.length(); 

     return textLength; 
    } 

    /*removes all white space from string to be called later.*/ 
    public static String outputWithoutWhitespace(String noWhiteSpace) { 
     Scanner scnr = new Scanner(System.in); 
     String usrText = ""; 

     usrText = scnr.nextLine();   
     noWhiteSpace = usrText.replaceAll("\\s+",""); 

     return noWhiteSpace; 
    } 

    public static void main(String[] args) { 
     Scanner scnr = new Scanner(System.in); 
     String usrText = ""; 

     System.out.print("Enter a sentence or phrase: "); 
     usrText = scnr.nextLine(); 
     System.out.println("You entered: " + usrText); 

     System.out.println(); 

     System.out.print("Number of characters: "); 
     System.out.println(getNumofCharacters(usrText)); 

     System.out.print("String with no whitespace: "); 
     System.out.println(outputWithoutWhitespace(usrText)); 

    } 
} 
+0

「scnr.nextLine();」を「scnr.next();」に変更する – ryekayo

+1

ああ、このコードは機能しません。それはあなたの問題について私たちに教えてくれるものですか? – Tom

+0

私はscnr.next()を最初に使用していました。 scnr.nextLine()とは対照的に;ユーザーの入力を遮断していました。次のエラーメッセージが表示されます。文章やフレーズを入力する:私たちが恐れなければならないのは、恐怖そのものだけです。 スレッド "main"の例外java.lang.RuntimeException:コンパイル不可能なソースコード - 誤ったツリータイプ: 入力したもの:私たちが恐れているのは、恐怖自体です。 \t at textanalyzer.TextAnalyzer.main(TextAnalyzer.java:48) 文字数:C:¥...¥Local¥NetBeans¥Cache¥8.1¥executor-snippets¥run.xml:53:Java戻り値:1 BUILD FAILED(合計時間:2秒) – usmctoady

答えて

0

私は間違ったことを呼び出し、メソッド名の形式には一致しないという問題がありました。これは私が使ったものです。ありがとうございました!

import java.util.Scanner; 
public class TextAnalyzer { 

public static int getNumOfCharacters(String usrText) { 
int textLength; 

textLength = usrText.length(); 

return textLength; 
} 

public static String outputWithoutWhitespace(String usrText) { 
String noWhiteSpace = ""; 

noWhiteSpace = usrText.replaceAll("\\s+",""); 

return noWhiteSpace; 
} 

public static void main(String[] args) { 
Scanner scnr = new Scanner(System.in); 
String usrText = ""; 


System.out.println("Enter a sentence or phrase: "); 
usrText = scnr.nextLine(); 
System.out.println("You entered: " + usrText); 

System.out.println(); 

System.out.print("Number of characters: "); 
System.out.println(getNumOfCharacters(usrText)); 

System.out.print("String with no whitespace: "); 
System.out.println(outputWithoutWhitespace(usrText)); 
return; 
} 
} 
+1

実際には文字列の長さを返すのに7行のコードは必要ありません。 'getNumOfCharacters()'メソッドをすべて削除してください。 – EJP

関連する問題