Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:在不使用函数的情况下将大写转换为小写,反之亦然_Java_String - Fatal编程技术网

Java:在不使用函数的情况下将大写转换为小写,反之亦然

Java:在不使用函数的情况下将大写转换为小写,反之亦然,java,string,Java,String,因此,我们的老师给了我们一个Java挑战,条件如下: 用户输入4个字符的字符串(字母、符号和数字,全部混合) 如果字母为大写,则将其转换为小写,反之亦然 符号和数字保持不变 把结果打印出来 但是限制是不能使用函数split()、length()、和toUpperCase() 我的第一个想法是使用开关和每个字母的大小写,但我想知道是否有更好(读得更短更聪明)的选择: public class program { public static void main(St

因此,我们的老师给了我们一个Java挑战,条件如下:

  • 用户输入4个字符的字符串(字母、符号和数字,全部混合)
  • 如果字母为大写,则将其转换为小写,反之亦然
  • 符号和数字保持不变
  • 把结果打印出来
但是限制是不能使用函数
split()
length()
、和
toUpperCase()

我的第一个想法是使用
开关
和每个字母的大小写,但我想知道是否有更好(读得更短更聪明)的选择:

public class program {           
    public static void main(String[] args){

        Scanner input = new Scanner(System.in);
        String text;

        System.out.println("Type in:");
        text = input.nextLine();

        switch(text){
            case "A":
                System.out.println("a");
                break;
            case "b":
                System.out.println("B");
                break;

        }
}

您觉得怎么样?

您可以循环字符串,然后检查以下条件:

// c => ith letter in String

if(c >='a' && c<='z') c = c-'a' + 'A';
else if(c>='A' && c<='Z') c = c-'A' + 'a';

// append c into new String
//c=>字符串中的第i个字母

如果(c>='a'&&c='a'&&c是的,有一个更好的方法。首先,您需要检查它是大写字母还是小写字母,方法如下:

char c;
if(c >= 'a' && c <= 'z') {   
    c = c - 32
} else if(c >= 'A' && c <= 'Z') {   
    c = c + 32
}
charc;

如果(c>='a'&&c='a'&&c欢迎来到StackOverflow。请访问并阅读。如果您发布您到目前为止所做的事情,StackOverflow效果最好。类似于“请为我编写代码”的问题(即使您不打算这样做)通常会被否决,并作为主题外的内容搁置。如果您展示了您尝试过的内容,并解释了哪些不起作用(适当的话,包括堆栈跟踪和/或错误消息)您更有可能获得帮助。可能会重复使用长度的内容?!这是一种方法,请参阅ASCII表:是的!对!谢谢matt!!您需要在上述代码中使用if-else。是的!谢谢您的建议!提前感谢,这就是我所做的
扫描仪输入=新扫描仪(System.in);System.out.println(“介绍您的文本:”);字符串文本;text=input.nextLine();char c=text.charAt(0);if(c>='a'&&c='a'&&c