微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我将如何限制字符的长度?

如何解决我将如何限制字符的长度?

问题是:编写一个 Java 程序,要求用户提供字母表中的一个字符。根据用户输入打印元音或辅音。如果用户输入的不是字母(介于 a 和 z 或 A 和 Z 之间),或者是长度 > 1 的字符串,则打印适当的描述性错误消息。

我做了一个 switch 语句,它成功地告诉你是否有元音或辅音,但如果用户输入的长度超过一个字符,我不知道如何给出错误消息。

>
import java.util.Scanner;
public class VowelKL{
public static void main(String[] args){

int i=0;
Scanner input=new Scanner(system.in);
System.out.println("Enter a single letter from the alphabet: ");
char letter=input.next().charat(0);

switch(letter)
{
case 'a' :
case 'e' :
case 'i' :
case 'o' :
case 'u' : 
case 'A' :
case 'E' :
case 'I' : 
case 'O' :
case 'U' : i++;
}
if(i==1)
System.out.println("You entered the letter " + letter + " and it is a Vowel!");
else
if((letter>='a' && letter<='z')||(letter>='A' && letter<='Z'))
System.out.println("You entered the letter " + letter + " and it is a Consonant!");
else
System.out.println("You did not enter a single character from the alphabet,please try again.");



}
}

解决方法

你可以使用这样的东西

public int length() {  
      return i.length;  
  } 

有几种方法可以做到这一点,上面只是一个例子,但 .length() 属性将为您提供字符串长度的 int 值。在上面的例子中,我们将 int 作为一个值返回。

在您的情况下,您可以创建一个新的 int 变量,然后为其分配长度。

int x = letter.length()

这会将字符串的长度设为 int 值。然后,您可以使用它并针对它高于或低于 1 的值编写 if 语句。

编辑:

我很快用 java 写了这个,它似乎按预期工作。希望能帮助您指明正确的方向。请注意,您需要将变量 letterchar 更改为 String

import java.util.Scanner;

public class main {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner input=new Scanner(System.in);
    System.out.println("Enter a single letter from the alphabet: ");
    String letter= input.nextLine();
    
    if (letter.length() == 1)
        System.out.println("Only one letter was entered");
    else
        System.out.println("Either no letter or more than one letter was entered");         
}
,

因为您已经在用户输入命令中指定用户输入仅允许在索引 0 处,即 charAt(0)。因此没有其他方法可以提取该字符值的索引位置。除非您必须在字符串类型中强制转换该特定字符,然后才能访问 String 的

str.lastIndexOf(char) 方法来提供限制。 这不是最佳做法。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。