Java 计算单词中字符的频率
Raji想计算给定字符的出现次数。编写一个程序来接受用户的一个单词。从用户处获取一个字符并查找出现次数 检查给定的字符和单词是否有效 如果单词只包含字母,没有空格或任何特殊字符或数字,则该单词有效 如果该字符仅为字母表,则该字符有效 示例输入1: 输入一个单词: 程序设计 输入字符: m 样本输出1: 给定单词中“m”的数量为2 样本输入2: 输入一个单词: 程序设计 输入字符: 样本输出2: 给定的单词中不存在给定的字符“s” 样本输入3: 输入一个单词: 56 样本输出3: 不是有效的字符串 示例输入4: 输入一个单词: 你好 输入字符: 六, 样本输出4: 给定的字符不是字母表 我收到一个错误: 失败的测试:Java 计算单词中字符的频率,java,string,Java,String,Raji想计算给定字符的出现次数。编写一个程序来接受用户的一个单词。从用户处获取一个字符并查找出现次数 检查给定的字符和单词是否有效 如果单词只包含字母,没有空格或任何特殊字符或数字,则该单词有效 如果该字符仅为字母表,则该字符有效 示例输入1: 输入一个单词: 程序设计 输入字符: m 样本输出1: 给定单词中“m”的数量为2 样本输入2: 输入一个单词: 程序设计 输入字符: 样本输出2: 给定的单词中不存在给定的字符“s” 样本输入3: 输入一个单词: 56 样本输出3: 不是有效的字符
测试3:当字符不存在且单词大写时,检查逻辑。我认为这会起作用。虽然我无法通过一个测试用例,但请随意尝试,它可能对您有用
import java.util.*;
public class OccurrenceOfChar{
public static void main (String[] args) {
Scanner in = new Scanner(System.in);
int n[] = new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},flag=0;
System.out.println("Enter a word:");
String input = in.nextLine();
input=input.toLowerCase();
for(int i=0;i<input.length();i++){
if(((int)input.charAt(i)-97)<0 || ((int)input.charAt(i)-97)>25){
flag=1;
}
else{
n[(int)input.charAt(i)-97]++;
}
}
if(flag==1){
System.out.println("Not a valid string");
}
else{
System.out.println("Enter the character:");
String t = in.nextLine();
String s=t.toLowerCase();
if(((int)s.charAt(0)-97)<0 || ((int)s.charAt(0)-97)>25){
System.out.println("Given character is not an alphabet");
}
else{
if(n[(int)s.charAt(0)-97]>0){
System.out.println("No of\'"+s+"\' present in the given word is "+n[(int)s.charAt(0)-97]+".");
}
else{
System.out.println("The given character \'"+s+"\' not present in the given word.");
}
}
}
}
import java.util.*;
公共类发生率{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int n[]=新int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},flag=0;
System.out.println(“输入一个单词:”);
字符串输入=in.nextLine();
input=input.toLowerCase();
对于(int i=0;i0){
System.out.println(“给定单词中出现的\'”+s+“\”的数量为“+n[(int)s.charAt(0)-97]+”);
}
否则{
System.out.println(“给定的字符\'”+s+“\”不存在于给定的单词中。”);
}
}
}
}
}我认为这会奏效。虽然我无法通过一个测试用例,但请随意尝试,它可能对您有用
import java.util.*;
public class OccurrenceOfChar{
public static void main (String[] args) {
Scanner in = new Scanner(System.in);
int n[] = new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},flag=0;
System.out.println("Enter a word:");
String input = in.nextLine();
input=input.toLowerCase();
for(int i=0;i<input.length();i++){
if(((int)input.charAt(i)-97)<0 || ((int)input.charAt(i)-97)>25){
flag=1;
}
else{
n[(int)input.charAt(i)-97]++;
}
}
if(flag==1){
System.out.println("Not a valid string");
}
else{
System.out.println("Enter the character:");
String t = in.nextLine();
String s=t.toLowerCase();
if(((int)s.charAt(0)-97)<0 || ((int)s.charAt(0)-97)>25){
System.out.println("Given character is not an alphabet");
}
else{
if(n[(int)s.charAt(0)-97]>0){
System.out.println("No of\'"+s+"\' present in the given word is "+n[(int)s.charAt(0)-97]+".");
}
else{
System.out.println("The given character \'"+s+"\' not present in the given word.");
}
}
}
}
import java.util.*;
公共类发生率{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int n[]=新int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},flag=0;
System.out.println(“输入一个单词:”);
字符串输入=in.nextLine();
input=input.toLowerCase();
对于(int i=0;i0){
System.out.println(“给定单词中出现的\'”+s+“\”的数量为“+n[(int)s.charAt(0)-97]+”);
}
否则{
System.out.println(“给定的字符\'”+s+“\”不存在于给定的单词中。”);
}
}
}
}
}导入java.util.*;
导入java.util.regex.Pattern;
公共类发生率
公共静态整数计数(字符串s,字符c)
{
int res=0;
对于(inti=0;iimportjava.util.*;
导入java.util.regex.Pattern;
公共类发生率
公共静态整数计数(字符串s,字符c)
{
int res=0;
对于(int i=0;i)您尝试了什么,在哪里卡住了?您能够编写什么代码?您尝试了什么,在哪里卡住了?您能够编写什么代码?