Java 使用输入将int转换为char(已编辑)

Java 使用输入将int转换为char(已编辑),java,Java,我的程序应该将一个字母转换为两个字母以外的字母。从a到c,从b到d。 我只能用英文字母表的前10个字母。(‘i’将转到‘a’,而‘j’将转到‘b’,因为我只能使用10个字母 import java.util.Scanner; public class part6 { public static void main(String[] args) { Scanner keyboard=new Scanner(System.in); System.out.print

我的程序应该将一个字母转换为两个字母以外的字母。从a到c,从b到d。 我只能用英文字母表的前10个字母。(‘i’将转到‘a’,而‘j’将转到‘b’,因为我只能使用10个字母

 import java.util.Scanner;
    public class part6 {
    public static void main(String[] args) {
    Scanner keyboard=new Scanner(System.in);

    System.out.println("Please enter a 4 letter word only uses the first 10 letter on english alphabet(a,b,c,d,e,f,g,h,i,j):  ");

    Scanner keyboard=new Scanner(System.in);
    String s1 = keyboard.next();
    String s2 = "z1";
    s2=s1.toLowerCase();

if (s1.length() !=4)
System.out.println("please enter a word with 4 letters");

char c1= s2.charAt(0);
char c2= s2.charAt(1);
char c3= s2.charAt(2);
char c4= s2.charAt(3);

int i1 =(int) c1;
int i2= (int) c2;
int i3= (int) c3;
int i4= (int) c4;

if(i1>96 && i1<107) // a = 97 , j = 106
System.out.println(s2);
else if (i2>96 && i2<107)
System.out.println(s2);
else if (i3>96 && i3<107)
System.out.println(s2);
else if (i4>96 && i4<107)
System.out.println(s2);
else 
System.out.println("wrong character using!");
}
}
import java.util.Scanner;
公共课第六部分{
公共静态void main(字符串[]args){
扫描仪键盘=新扫描仪(System.in);
System.out.println(“请输入一个4个字母的单词,仅使用英文字母表的前10个字母(a、b、c、d、e、f、g、h、i、j):”;
扫描仪键盘=新扫描仪(System.in);
字符串s1=键盘.next();
字符串s2=“z1”;
s2=s1.toLowerCase();
如果(s1.length()!=4)
System.out.println(“请输入一个包含4个字母的单词”);
字符c1=s2。字符(0);
字符c2=s2。字符(1);
字符c3=s2。字符(2);
字符c4=s2。字符(3);
int i1=(int)c1;
int i2=(int)c2;
int i3=(int)c3;
int i4=(int)c4;

如果(i1>96&&i196&&i296&&i396&&i4)步骤1:

测试每个字符的输入是否在“a”和“j”之间

第二步:

使用带有三种情况的开关:“i”、“j”和默认值,它们将输出所需的值

第三步:

将结果连接到字符串对象中

以下是代码解决方案:

public static void main(String arg[]){
    String input = "abcdefghij";
    String output = "";
    if (checkValidity(input)){
        for (int i = 0 ; i < input.length() ; i++){
            output += encrypt(input.charAt(i));
        }
    }

    System.out.println(output);
}

public static boolean checkValidity(String str){
    for (char c : str.toCharArray()){
        if (c < 'a' || c > 'j'){
            return false;
        }
    }
    return true;
}

public static char encrypt (char c){
    switch (c){
    case 'i' : return (char) (c-8);
    case 'j' : return (char) (c-8); 
    default : return  (char) (c+2);
    }
}
publicstaticvoidmain(字符串arg[]){
字符串输入=“abcdefghij”;
字符串输出=”;
如果(检查有效性(输入)){
对于(int i=0;i'j'){
返回false;
}
}
返回true;
}
公共静态字符加密(字符c){
开关(c){
案例一:返回(字符)(c-8);
案例“j”:返回(字符)(c-8);
默认值:返回(字符)(c+2);
}
}

我稍微整理了一下你的代码。也许像这样的东西能像你想要的那样工作

import java.util.Scanner;

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

        System.out.println("Please enter a 4 letter word only uses the first 10 letter on english alphabet(a,b,c,d,e,f,g,h,i,j):  ");

        Scanner keyboard=new Scanner(System.in);
        String input = keyboard.next();

        if (input.length() !=4) {
            System.out.println("please enter a word with 4 letters");
            return;
        }

        transformAndPrint(input.charAt(0));
        transformAndPrint(input.charAt(1));
        transformAndPrint(input.charAt(2));
        transformAndPrint(input.charAt(3));
    }

    private static void transformAndPrint(char inputChar) {
        if(inputChar>96 && inputChar<107) {
            int newChar = inputChar - 96;
            newChar = (newChar + 2) % 10;
            newChar = newChar + 96;
            System.out.print((char) newChar);
        } else {
            System.out.print(" ");
        }
    }
}
import java.util.Scanner;
公共课第六部分{
公共静态void main(字符串[]args){
System.out.println(“请输入一个4个字母的单词,仅使用英文字母表的前10个字母(a、b、c、d、e、f、g、h、i、j):”;
扫描仪键盘=新扫描仪(System.in);
字符串输入=键盘.next();
如果(input.length()!=4){
System.out.println(“请输入一个包含4个字母的单词”);
返回;
}
transformAndPrint(input.charAt(0));
转换和打印(输入字符(1));
转换和打印(输入字符(2));
转换和打印(输入字符(3));
}
私有静态void transformAndPrint(char inputChar){

如果(inputChar>96&&inputChar实际转换字符串怎么样?现在你读一个字符串,把它转换成小写并打印出来。我该怎么做呢?为字符编制索引并执行该操作?一次检查字符串,根据规则转换字符并添加到新字符串,但我不知道输入是什么?所以我我给了你算法…好好利用它我什么都不做:/I don’你能帮我吗?谢谢你,但我不能使用循环谢谢你,但我不应该使用循环。我只能使用字符串,if-else和switch。非常感谢你,但我不应该使用循环。我只能使用字符串,if-else和swi我不能使用private static。我不使用loop。如果你不能使用private方法(听起来很奇怪),你可以只写四次这个代码。@JJJ哪里出错了?它说:找不到sybol:if(input.lenght()!=4){。箭头指向“。@jj如果你编译并运行我的代码,就不可能得到那个错误。
    public static char transform(char s){
        int base = s - 'a';
        int increment = base + 2;
        int circularShiftIncrement = increment % 10;
        int transformToCharValue = circularShiftIncrement + 'a';

        return (char)transformToCharValue;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            String s = scanner.next();
            char c = s.charAt(0);
            char transformedString = transform(c);
            System.out.println(transformedString);
        }
    }