2017-01-10 10 views
-2

javaの配列で処理を実行するためにreturnメソッドとパラメータ渡しを使用できるかどうかは疑問でした。明らかに、私は正しいステップに従っていない。それが可能かどうかはわかりません。returnメソッドを使用する方法、Javaで配列を渡すパラメータ

私のコードの目的は、ユーザーに特定の文字数を入力するように求めることです。ユーザーはデータを入力し、英語に翻訳されます。問題は、可能であれば、返却メソッドを使用して処理を実行したいということです。

ありがとうございます!私は非常には、任意のヘルプ

import java.io.*; 
import java.awt.*; //gives access to java command libraries 
import hsa.*; //gives access to console class file 
import javax.swing.JOptionPane; 
import java.awt.image.BufferedImage; 
import javax.imageio.ImageIO; 


public class work 
{ 
    Console c; //The output console 

    int numberOfLetters = 0; 
    String[] userInput = new String [numberOfLetters]; 
    String[] translatedData; 
    String english[] = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "/", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}; 
    String morse[] = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", "/", "-----", ".----", "..---", "...--", "....-", ".....", " -....", "--...", "---..", "----."}; 


    //It is the class constructor of a java program 
    public work() 
    { 
     c = new Console (""); //creates a new console object window 
    } 


    public void morseFile() 
    { 
     title(); 
     c.print ("Please enter the number of letters you wish to enter: "); 
     numberOfLetters = c.readInt(); 
     userInput = new String [numberOfLetters]; 
     translatedData = new String [numberOfLetters]; 
     c.println (""); 
     c.println ("Please enter the morse data you wish to translate "); 

     int line = 0; 

     do 
     { 
      c.print ("Enter morse letter " + (line + 1) + ": "); 
      userInput [line] = c.readString(); 
      line++; 
     } 
     while (line < numberOfLetters) 
      ; 

     for (int i = 0 ; i < userInput.length ; i++) 
     { 
      if (!(userInput [i].equals ("/") || userInput [i].equals (".-") || userInput [i].equals ("-...") || userInput [i].equals ("-.-.") || userInput [i].equals ("-..") || userInput [i].equals (".") || userInput [i].equals ("..-.") || userInput [i].equals ("--.") || userInput [i].equals ("....") || userInput [i].equals ("..") || userInput [i].equals (".---") || userInput [i].equals ("-.-") || userInput [i].equals (".-..") || userInput [i].equals ("--") || userInput [i].equals ("-.") || userInput [i].equals ("---") || userInput [i].equals (".--.") || userInput [i].equals ("--.-") || userInput [i].equals (".-.") || userInput [i].equals ("...") || userInput [i].equals ("-") || userInput [i].equals ("..-") || userInput [i].equals ("...-") || userInput [i].equals (".--") || userInput [i].equals ("-..-") || userInput [i].equals ("-.--") || userInput [i].equals ("--..") || userInput [i].equals (".----") || userInput [i].equals ("..---") || userInput [i].equals ("...--") || userInput [i].equals ("....-") || userInput [i].equals (".....") || userInput [i].equals ("-....") || userInput [i].equals ("--...") || userInput [i].equals ("---..") || userInput [i].equals ("----.") || userInput [i].equals ("-----") || userInput [i].equals ("/"))) 
      { 
       JOptionPane.showMessageDialog (null, "Please enter the right input"); 
       morseFile(); 
      } 
     } 

     c.println (""); 
     c.print ("The translated data is: "); 
     c.println (""); 
    } 


    private String translated (String[] translatedData) 
    { 
     translatedData = new String [numberOfLetters]; 
     c.print ("THE NUMBER OF LETTERS IS: " + numberOfLetters); 
     for (int i = 0 ; i < userInput.length ; i++) 
     { 
      if (userInput [i].equals ("a") || userInput [i].equals ("b") || userInput [i].equals ("c") || userInput [i].equals ("d") || userInput [i].equals ("e") || userInput [i].equals ("f") || userInput [i].equals ("g") || userInput [i].equals ("h") || userInput [i].equals ("i") || userInput [i].equals ("j") || userInput [i].equals ("k") || userInput [i].equals ("l") || userInput [i].equals ("m") || userInput [i].equals ("n") || userInput [i].equals ("o") || userInput [i].equals ("p") || userInput [i].equals ("q") || userInput [i].equals ("r") || userInput [i].equals ("s") || userInput [i].equals ("t") || userInput [i].equals ("u") || userInput [i].equals ("v") || userInput [i].equals ("w") || userInput [i].equals ("x") || userInput [i].equals ("y") || userInput [i].equals ("z") || userInput [i].equals ("0") || userInput [i].equals ("1") || userInput [i].equals ("2") || userInput [i].equals ("3") || userInput [i].equals ("4") || userInput [i].equals ("5") || userInput [i].equals ("6") || userInput [i].equals ("7") || userInput [i].equals ("8") || userInput [i].equals ("9") || userInput [i].equals ("/")) 
      { 
       for (int z = 0 ; z < english.length ; z++) 
       { 
        if (userInput [i].equals (english [z])) 
        { 
         translatedData [i] = morse [z]; 
         return translatedData [i]; 
        } 

       } 
      } 
      else if (userInput [i].equals (".-") || userInput [i].equals ("-...") || userInput [i].equals ("-.-.") || userInput [i].equals ("-..") || userInput [i].equals (".") || userInput [i].equals ("..-.") || userInput [i].equals ("--.") || userInput [i].equals ("....") || userInput [i].equals ("..") || userInput [i].equals (".---") || userInput [i].equals ("-.-") || userInput [i].equals (".-..") || userInput [i].equals ("--") || userInput [i].equals ("-.") || userInput [i].equals ("---") || userInput [i].equals (".--.") || userInput [i].equals ("--.-") || userInput [i].equals (".-.") || userInput [i].equals ("...") || userInput [i].equals ("-") || userInput [i].equals ("..-") || userInput [i].equals ("...-") || userInput [i].equals (".--") || userInput [i].equals ("-..-") || userInput [i].equals ("-.--") || userInput [i].equals ("--..") || userInput [i].equals (".----") || userInput [i].equals ("..---") || userInput [i].equals ("...--") || userInput [i].equals ("....-") || userInput [i].equals (".....") || userInput [i].equals ("-....") || userInput [i].equals ("--...") || userInput [i].equals ("---..") || userInput [i].equals ("----.") || userInput [i].equals ("-----") || userInput [i].equals ("/")) 
      { 

       for (int z = 0 ; z < morse.length ; z++) 
       { 
        if (userInput [i].equals (morse [z])) 
        { 

         translatedData [i] = (english [z]); 
         return translatedData [i]; 
        } 

       } 

      } 
     } 
    } 

    public void display() 
    { 
     c.print ("The translated data is: " + translated (translatedData)); 
    } 


    public static void main (String[] args) 
    { 
     work h = new work(); 
     h.morseFile(); 
     h.display(); 

    } 
} 
+0

'返品方法 'とはどういう意味ですか? – alayor

+0

javaのreturnメソッドを使用して特定の値を返します – Mike

+0

戻り値は 'translated()'で使用しています。あなたの質問は何ですか? – shmosel

答えて

0

配列は、あなたが実際にやろうとしている(これはクラス内でなければならないであろう何のために調整して、このように宣言して符号化されるだろう返すメソッドをいただければ幸いです、この方法は、特定のタイプの配列(int型、文字列を返すように宣言されなければならない、 -

public String[] getNames() 
{ 
    String[] names = { "Alfred", "Willy", "Teddy", "Fred" }; 
    return names; 
} 

ものは必需品です。もちろん、Javaでのフリーフローティング方式のようなもの)がありませんあなた自身の創造のクラス、すべて合法です)。正しい型(この場合はStringの配列)の変数を宣言し、それが持つはずのデータで返します。

このようなメソッドを使用するには、別のメソッドではこのメソッドを含むクラスのインスタンスが必要です。クラスをNameGeneratorクラスと呼びます:

NameGenerator ng = new NameGenerator(); 
// ... 
String[] generatedNames = ng.getNames(); 

これも、クラス内で、そのクラスのメソッド内になければなりません。

メソッドの使用時に特定の数の要素を宣言する必要はありません。配列に要素を配置する "初期化子"形式を使用している場合、特定の数の要素をそこに宣言する必要はありません。

これはあなたの後でしたか?

+0

を返す方法を知りませんあなたの応答に感謝します。残念ながら、これは私が何をしたかではありません。私のコードを見ると、私が持っている主な問題はreturns translatedData [i]です。コード内で** translatedData [i] **をどのように返すことができるか質問したいと思います。私は助けに感謝します。 – Mike

+0

ここでの混乱の一部は、あなたのコードが既に 'translatedData [i]'を返して構文的に正しく返っているということです。メソッドはStringを返すと宣言され、 'translatedData'はstringの配列として宣言され、配列から1つの文字列を返すreturn文があります。私はその配列内の各文字列を1文字集めます。だから助けようとしている人は、あなたが何をしているのか分からない。エラーの内容はわかりません。それをコピーして質問に入れてください(別の言葉で何がわかっているか教えてください)。 – arcy

+0

右、申し訳ありませんが明確ではありません。 **エラー:式を含むreturn文は、値**を返すと宣言されたメソッド宣言に含まれていなければなりません。質問:文法的に正しいすべてを入力したと思いますが、なぜ問題が発生していますか? – Mike

関連する問題