让用户猜3个字母来猜名字的Java程序?
我需要一些关于如何接近一个java程序的帮助,该程序允许用户分别输入3个不同的字母,并告诉他们是否在一个固定的单词中,如果是在什么索引中。这是为介绍,所以它应该最有可能是一块蛋糕,为您的专家。我们没有关于这一部分的笔记,所以我真的很困惑。我们所知道的只是基本的字符串。到目前为止我有让用户猜3个字母来猜名字的Java程序?,java,eclipse,Java,Eclipse,我需要一些关于如何接近一个java程序的帮助,该程序允许用户分别输入3个不同的字母,并告诉他们是否在一个固定的单词中,如果是在什么索引中。这是为介绍,所以它应该最有可能是一块蛋糕,为您的专家。我们没有关于这一部分的笔记,所以我真的很困惑。我们所知道的只是基本的字符串。到目前为止我有 import java.util.Scanner; public class guessletter { public static void main(String[] args)
import java.util.Scanner;
public class guessletter {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String name = "carson";
int namelength = name.length();
System.out.println("The name is "+namelength+" charecters long");
System.out.println("Please enter a letter to guess?");
String letter1 = scan.nextLine();
System.out.println("Please enter a letter to guess?");
String letter2 = scan.nextLine();
System.out.println("Please enter a letter to guess?");
String letter3 = scan.nextLine();
}
}
更新:忘了提到用户必须能够猜到结尾的单词,以确定他们是否正确。我想我记下了,但上面说正确的名字错了
import java.util.Scanner;
public class guessletter
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
String name = "carson";
String name2;
int namelength = name.length();
System.out.println("The name is "+namelength+" charecters long");
System.out.println("Please enter a letter to guess?");
char letter = scan.nextLine().charAt(0); // Gets the first character in the input
checkLetter(name, letter);
System.out.println("Please enter a letter to guess?");
letter = scan.nextLine().charAt(0);
checkLetter(name, letter);
System.out.println("Please enter a letter to guess?");
letter = scan.nextLine().charAt(0);
checkLetter(name, letter);
System.out.println("Please guess what the name is.");
name2= scan.nextLine();
if (name2 == name)
System.out.println("Yes that is the name");
else
System.out.println("Nope, that is not the name");
System.out.println("The name is "+name+"");
}
public static void checkLetter(String name, char letter)
{
int indexOfLetter = name.indexOf(letter);
if (indexOfLetter == -1)
System.out.println("That letter isn't found in the name");
else
System.out.println("That Letter is in name. It is located at index " + (indexOfLetter+1));
}
}
使用方法String#indexOf,如果给定字符不在单词中,该方法返回-1
String name = "carson";
System.out.println(name.indexOf("a"));
System.out.println(name.indexOf("z"));
这会帮你做的
import java.util.Scanner;
public class guess
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
String name = "carson";
int namelength = name.length();
int l=3;
String letter;
System.out.println("The name is "+namelength+" charecters long");
while(l-->0){
System.out.println("Please enter a letter to guess?");
letter= scan.nextLine();
if(name.indexOf(letter)!=-1){
System.out.println("Letter found at position "+(name.indexOf(letter)+1));
}else{
System.out.println("Letter not found");
}
}
}
}
您也可以对字符串使用.contains
if(name.contains("a")){
//code
}
请注意用户不一定只输入一个字母。您应该考虑这一点,只测试输入字符串的第一个字符 一种可能的方法如下: 在这段代码中,使用
.charAt(0)
只扫描每个输入字符串(根据需要)的第一个字符,然后根据需要使用name
变量上的.indexOf(letter)
方法测试它是否在字符串中
import java.util.Scanner;
public class guessletter
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
String name = "carson";
int namelength = name.length();
System.out.println("The name is "+namelength+" charecters long");
System.out.println("Please enter a letter to guess?");
char letter = scan.nextLine().charAt(0); // Gets the first character in the input
checkLetter(name, letter);
System.out.println("Please enter a letter to guess?");
letter = scan.nextLine().charAt(0);
checkLetter(name, letter);
System.out.println("Please enter a letter to guess?");
letter = scan.nextLine().charAt(0);
checkLetter(name, letter);
}
public static void checkLetter(String name, char letter)
{
int indexOfLetter = name.indexOf(letter);
if (indexOfLetter == -1)
System.out.prinln("Letter is not in name");
else
System.out.println("Letter is in name! index is " + (indexOfLetter+1));
}
}
我投票把这个问题作为离题题来结束,因为家庭作业问题至少应该包括解决问题的尝试。