Java 如何计算关键字符?
我有以下代码:Java 如何计算关键字符?,java,string,Java,String,我有以下代码: import java.util.Scanner; public class chara{ public static void main(String[]args){ Scanner input = new Scanner(System.in); System.out.println("Input a string"); String user=input.nextLine(); if(user.length()&l
import java.util.Scanner;
public class chara{
public static void main(String[]args){
Scanner input = new Scanner(System.in);
System.out.println("Input a string");
String user=input.nextLine();
if(user.length()<7)
{
return;
}
else
{
}
System.out.println("now input a letter to be replaced");
String letter = input.next();
String user2 = user.replace(letter, "-");
String user3 = user.replace(letter, "");
System.out.println(user2);
System.out.println(user3);
}
}
代码需要做三件事,包括一个字符串和一个字母,以及:
将字符串中的关键字母替换为-
删除字符串的键字母
计算关键字母出现的次数。
目前我有两个问题。我不知道如何计算这封信的次数
之所以出现,是因为从技术上讲,它是一个字符串而不是字符,我不知道如何计数
串。第二,我需要这样做,如果字符串不是所需的长度,那么
只需再次询问,而不是退出程序。我曾尝试使用getString方法,但出于某种原因,它总是说该方法未定义。对于问题1:
在主方法的顶部附近:
int count = 0;
分配user3后:
count += (user3.length() - user.length());
第1期:
在主方法的顶部附近:
int count = 0;
分配user3后:
count += (user3.length() - user.length());
要帮助解决问题3:
int count = 0;
for(char c : user.toCharArray() ){
if ( c == letter.charAt(0)) count++;
}
System.out.println("Number of occurences: "+count);
要帮助解决问题3:
int count = 0;
for(char c : user.toCharArray() ){
if ( c == letter.charAt(0)) count++;
}
System.out.println("Number of occurences: "+count);
用户1324109解决了问题1,这是他们的全部功劳,下面是您解决问题2的方法:
import java.util.Scanner;
public class StringReader {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String user1 = "", user2 = "", user3 = "";
int count = 0;
while(user1.equals("") || user1.length() < 7) {
System.out.println("Input a string");
user1 = input.nextLine();
}
if(!user1.equals("")) {
System.out.println("now input a letter to be replaced");
String letter = input.next();
user2 = user1.replace(letter, "-");
user3 = user1.replace(letter, "");
System.out.println(user2);
System.out.println(user3);
count += (user1.length() - user3.length());
System.out.println("letter was found to be present "+count+" times");
}
}
}
用户1324109解决了问题1,这是他们的全部功劳,下面是您解决问题2的方法:
import java.util.Scanner;
public class StringReader {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String user1 = "", user2 = "", user3 = "";
int count = 0;
while(user1.equals("") || user1.length() < 7) {
System.out.println("Input a string");
user1 = input.nextLine();
}
if(!user1.equals("")) {
System.out.println("now input a letter to be replaced");
String letter = input.next();
user2 = user1.replace(letter, "-");
user3 = user1.replace(letter, "");
System.out.println(user2);
System.out.println(user3);
count += (user1.length() - user3.length());
System.out.println("letter was found to be present "+count+" times");
}
}
}
一个字符串是一个字符数组。也许可以研究一下如何循环,并根据输入的内容是否是您所需要的,反复问这个问题。这将是循环中涉及的或do或while的java关键字。计数将是一个类似的问题。一种方法是从第0列开始搜索该字符,如果找到,则对其进行计数,然后循环搜索,从刚过找到该字符的列开始。另一种策略是将字符串转换为char[]数组,然后循环执行数组检查和计数。这些都是你可以在谷歌上搜索到的东西。字符串是一个字符数组。也许你可以研究一下如何循环,然后根据输入的内容是否是你需要的,反复问这个问题。这将是循环中涉及的或do或while的java关键字。计数将是一个类似的问题。一种方法是从第0列开始搜索该字符,如果找到,则对其进行计数,然后循环搜索,从刚过找到该字符的列开始。另一种策略是将字符串转换为char[]数组,然后循环执行数组检查和计数。这些都是你可以在谷歌上搜索到的东西。这非常有帮助,谢谢。具有讽刺意味的是,我刚刚找到了一种将字符串转换为字符的方法,但这更容易,所以谢谢。LOL我也切换到user-user3,因为我得到了一个负数,这非常有用,谢谢。具有讽刺意味的是,我刚刚找到了一种将字符串转换为字符的方法,但这更容易,所以谢谢你,我也切换到user-user3,因为我得到了一个负数