Java-将一串字母转换为等价的单词
我是Java新手,如果有人能给我任何帮助,我将不胜感激 我需要编写一个程序,要求用户输入一个由5个字符组成的字符串,例如asdfg,并将其转换为单词,例如“苹果菠菜狗鱼山羊”。(这些是用户将输入的字母) 我一直在尝试将这些元素输入到数组中,并从中更改元素,但我不完全确定如何更改 这是我目前掌握的代码Java-将一串字母转换为等价的单词,java,string,Java,String,我是Java新手,如果有人能给我任何帮助,我将不胜感激 我需要编写一个程序,要求用户输入一个由5个字符组成的字符串,例如asdfg,并将其转换为单词,例如“苹果菠菜狗鱼山羊”。(这些是用户将输入的字母) 我一直在尝试将这些元素输入到数组中,并从中更改元素,但我不完全确定如何更改 这是我目前掌握的代码 import java.util.Scanner; import static java.lang.System.out; public class wordsArray { publi
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变成了“山羊”。如果你有第二个数据,它应该变成什么呢?我的列表应该如何同时成为一个字符串和一个数组?你的主外的循环是什么?如果你的问题解决了,你可以接受谢谢你的帮助!我