Java-将一串字母转换为等价的单词

Java-将一串字母转换为等价的单词,java,string,Java,String,我是Java新手,如果有人能给我任何帮助,我将不胜感激 我需要编写一个程序,要求用户输入一个由5个字符组成的字符串,例如asdfg,并将其转换为单词,例如“苹果菠菜狗鱼山羊”。(这些是用户将输入的字母) 我一直在尝试将这些元素输入到数组中,并从中更改元素,但我不完全确定如何更改 这是我目前掌握的代码 import java.util.Scanner; import static java.lang.System.out; public class wordsArray { publi

我是Java新手,如果有人能给我任何帮助,我将不胜感激

我需要编写一个程序,要求用户输入一个由5个字符组成的字符串,例如asdfg,并将其转换为单词,例如“苹果菠菜狗鱼山羊”。(这些是用户将输入的字母)

我一直在尝试将这些元素输入到数组中,并从中更改元素,但我不完全确定如何更改

这是我目前掌握的代码

import java.util.Scanner;
import static java.lang.System.out;


public class wordsArray {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("Please enter the details of your order");
        String myList = scan.nextLine();
    }

        myList[0] = "apple";
        myList[1] = "spinach";
        myList[2] = "dog";
        myList[3] = "fish";
        myList[4] = "goat";

        //Print all the array elements
        for (int i = 0; i < myList.length; i++) {
            System.out.println(myList[i] + " ");
       }


    }
import java.util.Scanner;
导入静态java.lang.System.out;
公共类词汇{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“请输入订单的详细信息”);
字符串myList=scan.nextLine();
}
myList[0]=“苹果”;
myList[1]=“菠菜”;
myList[2]=“狗”;
myList[3]=“鱼”;
myList[4]=“山羊”;
//打印所有数组元素
for(int i=0;i

谢谢任何人能给予的帮助

最好把这些东西都放在地图上

Map<Character,String> dataMap = new HashMap<Character,String>();
dataMap.put('a',"apple");
dataMap.put('s',"spinach");
dataMap.put('d',"dog");
dataMap.put('f',"fish");
dataMap.put('g',"goat");
Map dataMap=newhashmap();
dataMap.put('a','apple');
dataMap.put('s',“spinach”);
dataMap.put('d','dog');
dataMap.put('f','fish');
dataMap.put('g','goat');
现在按如下所示的顺序打印数据

//Print all the array elements
    for (int i = 0; i < myList.length; i++) {
        System.out.println(dataMap.get(myList.charAt(i)) + " ");
    }
//打印所有数组元素
for(int i=0;i
最好把这些东西都放在地图上

Map<Character,String> dataMap = new HashMap<Character,String>();
dataMap.put('a',"apple");
dataMap.put('s',"spinach");
dataMap.put('d',"dog");
dataMap.put('f',"fish");
dataMap.put('g',"goat");
Map dataMap=newhashmap();
dataMap.put('a','apple');
dataMap.put('s',“spinach”);
dataMap.put('d','dog');
dataMap.put('f','fish');
dataMap.put('g','goat');
现在按如下所示的顺序打印数据

//Print all the array elements
    for (int i = 0; i < myList.length; i++) {
        System.out.println(dataMap.get(myList.charAt(i)) + " ");
    }
//打印所有数组元素
for(int i=0;i
该代码目前存在一些问题。首先,需要将接收到的字符串转换为字符数组。然后,要使用列表实现,您必须迭代两个列表,以将每个输入字符与以该字母开头的单词匹配

更好的选择是将字母-单词配对放在地图中并以这种方式检索它们

最后,您可能不想使用“System.out.println”,因为这样您可以在单独的行中获得结果。相反,请使用“System.out.print”

publicstaticvoidmain(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“请输入订单的详细信息”);
字符串myString=scan.nextLine();
char[]myChars=myString.toCharArray();
Map Map=newhashmap();
map.put('a','apple');
map.put('s','spinche');
地图放置('d','dog');
地图放置('f','fish');
地图放置('g','goat');
//打印所有数组元素
for(int i=0;i
该代码目前存在一些问题。首先,需要将接收到的字符串转换为字符数组。然后,要使用列表实现,您必须迭代两个列表,以将每个输入字符与以该字母开头的单词匹配

更好的选择是将字母-单词配对放在地图中并以这种方式检索它们

最后,您可能不想使用“System.out.println”,因为这样您可以在单独的行中获得结果。相反,请使用“System.out.print”

publicstaticvoidmain(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
System.out.println(“请输入订单的详细信息”);
字符串myString=scan.nextLine();
char[]myChars=myString.toCharArray();
Map Map=newhashmap();
map.put('a','apple');
map.put('s','spinche');
地图放置('d','dog');
地图放置('f','fish');
地图放置('g','goat');
//打印所有数组元素
for(int i=0;i
这个问题不是很清楚。但这里有一个简单的解决方案

public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
         Scanner scan = new Scanner(System.in);

        System.out.println("Please enter the details of your order");
        String myList = scan.nextLine();

        for(int i=0;i<myList.length();i++){
            switch(myList.charAt(i)){
                case 'a':System.out.println("Apple");
                break;
                case 's':System.out.println("Spinach");
                break;
                case 'd':System.out.println("Dog");
                break;
                case 'f':System.out.println("Fish");
                break;
                case 'g':System.out.println("Goat");
                break;
                default: System.out.println("Nothing..");
                     break;
            }
        }
    }
publicstaticvoidmain(字符串[]args)抛出java.lang.Exception
{
//你的密码在这里
扫描仪扫描=新扫描仪(System.in);
System.out.println(“请输入订单的详细信息”);
字符串myList=scan.nextLine();

对于(inti=0;i这个问题不是很清楚,但这里有一个简单的解决方案

public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
         Scanner scan = new Scanner(System.in);

        System.out.println("Please enter the details of your order");
        String myList = scan.nextLine();

        for(int i=0;i<myList.length();i++){
            switch(myList.charAt(i)){
                case 'a':System.out.println("Apple");
                break;
                case 's':System.out.println("Spinach");
                break;
                case 'd':System.out.println("Dog");
                break;
                case 'f':System.out.println("Fish");
                break;
                case 'g':System.out.println("Goat");
                break;
                default: System.out.println("Nothing..");
                     break;
            }
        }
    }
publicstaticvoidmain(字符串[]args)抛出java.lang.Exception
{
//你的密码在这里
扫描仪扫描=新扫描仪(System.in);
System.out.println(“请输入订单的详细信息”);
字符串myList=scan.nextLine();
对于(int i=0;i请尝试以下方法:

String inputString = "asdfg"; //your scan.next();

//use array constructor
String [] myList = {"apple", "spinach", "dog", "fish", "goat"};
//start our result string as empty
String result = "";
//for each letter of our input string...
for(char letter: inputString.toCharArray()){
    //...check each of the words in my list to see if they start with that letter
    for(String word: myList){
        if(word.toCharArray()[0] == letter){
            result = result + " " + word;
        }
    }
}
System.out.println(result);  //prints "apple spinach dog fish goat"
我认为用地图来解决这个问题可能更合适

//build a map
String inputString = "asdfg"; //your scan.next();
Map<String, String> myMap = new HashMap<>();
myMap.put("a", "apple");
myMap.put("s", "spinach");
myMap.put("d", "dog");
myMap.put("f", "fish");
myMap.put("g", "goat");
//initilize our result string
String result = "";
//split the string and get our values straight from the map
for(String letter: inputString.split("")){
    result = result + " " + myMap.get(letter);
}
System.out.println(result); //" apple spinach dog fish goat"
试试这个:

String inputString = "asdfg"; //your scan.next();

//use array constructor
String [] myList = {"apple", "spinach", "dog", "fish", "goat"};
//start our result string as empty
String result = "";
//for each letter of our input string...
for(char letter: inputString.toCharArray()){
    //...check each of the words in my list to see if they start with that letter
    for(String word: myList){
        if(word.toCharArray()[0] == letter){
            result = result + " " + word;
        }
    }
}
System.out.println(result);  //prints "apple spinach dog fish goat"
我认为用地图来解决这个问题可能更合适

//build a map
String inputString = "asdfg"; //your scan.next();
Map<String, String> myMap = new HashMap<>();
myMap.put("a", "apple");
myMap.put("s", "spinach");
myMap.put("d", "dog");
myMap.put("f", "fish");
myMap.put("g", "goat");
//initilize our result string
String result = "";
//split the string and get our values straight from the map
for(String letter: inputString.split("")){
    result = result + " " + myMap.get(letter);
}
System.out.println(result); //" apple spinach dog fish goat"

你的问题不太清楚,“asdfg”怎么会变成“鱼”很抱歉,混淆了,a变成了“苹果”,s变成了“菠菜”,d变成了“狗”,f变成了“鱼”,g变成了“山羊”。如果你有第二个数据,它应该变成什么呢?我的列表应该如何同时成为一个
字符串和一个数组?你的
外的循环是什么?你的问题不是很清楚“asdfg”变成“鱼”"?很抱歉,混淆了,a变成了“苹果”,s变成了“菠菜”,d变成了“狗”,f变成了“鱼”,g变成了“山羊”。如果你有第二个数据,它应该变成什么呢?我的列表应该如何同时成为一个
字符串
和一个数组?你的
外的循环是什么?如果你的问题解决了,你可以接受谢谢你的帮助!我