编写一个java程序,当输入一个字符串“abc”时,对应输出“DEF”
时间: 2024-11-05 17:30:29 浏览: 18
在Java中,你可以使用`Character`类的`toUpperCase()`方法来实现这个简单的映射功能。下面是一个示例程序:
```java
import java.util.Scanner;
public class StringMapper {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = scanner.nextLine();
// 将字符串中的每个字符转换为大写并替换原字符
String output = input.toUpperCase().replace('A', 'D').replace('B', 'E').replace('C', 'F');
System.out.println("对应的输出为: " + output);
}
}
```
在这个程序中,我们首先获取用户输入的字符串,然后将其转换为大写字母,接着使用`replace()`方法将'a'、'b'和'c'分别替换为'd'、'e'和'f'。运行此程序,如果输入"abc",则会输出"DEF"。
相关问题
6-2 jmu-java&python-统计字符个数 分数 10 作者 郑如滨 单位 集美大学 编写程序统计1行字符串中: 不同字符的个数。 每种字符出现的次数。 函数接口定义: Freq(line) 函数功能:该函数统计不同字符出现的次数,并最后按照字符升序进行输出。输出格式见输出样例。 参数说明:line为需要统计的字符串。 裁判测试程序样例: /* 请在这里填写答案 */ line = input() Freq(line) 输入样例: abc 123 adex!!! 输出样例: 11 = 2 ! = 3 1 = 1 2 = 1 3 = 1 a = 2 b = 1 c = 1 d = 1 e = 1 x = 1 输出格式说明: 第1行输出不同字符的个数。 **=**两边应有空格。 上述输出样例中第2行的字符是空格。 输出按照字符升序排列。
好的,我知道了。下面是对应的 Python 代码实现:
```python
def Freq(line):
freq_dict = {}
for char in line:
if char in freq_dict:
freq_dict[char] += 1
else:
freq_dict[char] = 1
sorted_keys = sorted(freq_dict.keys())
print(len(sorted_keys))
for key in sorted_keys:
print(key, '=', freq_dict[key])
line = input()
Freq(line)
```
输入样例:
```
abc 123 adex!!!
```
输出样例:
```
11
! = 3
1 = 1
2 = 1
3 = 1
a = 2
b = 1
c = 1
d = 1
e = 1
x = 1
```
注意输出格式,第一行是不同字符的个数,第二行开始按照字符升序输出每个字符以及出现的次数。
结合接口和Java的内置数据类,编写一个程序,这个程序有两个接口和若干个类,能实现:1.接口1对应的是一种字符串的检验方法,这个方法可以呈现出两种功能,既能对用户输入的数据是不是手机号进行验证(如果是手机号,打印:“您输入的格式正确!”,如果不是手机号,打印“您输入的不是手机号,请重新输入!”),也能对用户输入的数据是不是邮箱进行验证(如果是邮箱,打印:“您输入的邮箱格式正确!”,如果不是邮箱,打印“您输入的不是邮箱,请重新输入!”)
下面是一个简单的实现,使用了两个接口 `PhoneValidator` 和 `EmailValidator`,以及两个实现类 `PhoneValidatorImpl` 和 `EmailValidatorImpl`。
```java
import java.util.regex.Pattern;
interface PhoneValidator {
boolean validate(String phone);
}
interface EmailValidator {
boolean validate(String email);
}
class PhoneValidatorImpl implements PhoneValidator {
@Override
public boolean validate(String phone) {
Pattern pattern = Pattern.compile("^1[3456789]\\d{9}$");
if (pattern.matcher(phone).matches()) {
System.out.println("您输入的格式正确!");
return true;
} else {
System.out.println("您输入的不是手机号,请重新输入!");
return false;
}
}
}
class EmailValidatorImpl implements EmailValidator {
@Override
public boolean validate(String email) {
Pattern pattern = Pattern.compile("^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$");
if (pattern.matcher(email).matches()) {
System.out.println("您输入的邮箱格式正确!");
return true;
} else {
System.out.println("您输入的不是邮箱,请重新输入!");
return false;
}
}
}
public class Main {
public static void main(String[] args) {
PhoneValidator phoneValidator = new PhoneValidatorImpl();
EmailValidator emailValidator = new EmailValidatorImpl();
String phone1 = "13912345678";
String phone2 = "12345678901";
String email1 = "abc@def.com";
String email2 = "123@456";
phoneValidator.validate(phone1);
phoneValidator.validate(phone2);
emailValidator.validate(email1);
emailValidator.validate(email2);
}
}
```
在上面的示例中,我们定义了两个接口 `PhoneValidator` 和 `EmailValidator`,分别用于验证手机号和邮箱。然后,我们创建了两个实现类 `PhoneValidatorImpl` 和 `EmailValidatorImpl`,分别实现了这两个接口中的方法。在这些方法中,我们使用了正则表达式来验证输入的数据是否符合要求。
在主函数中,我们创建了 `PhoneValidatorImpl` 和 `EmailValidatorImpl` 的实例,并对一些字符串进行了验证。如果输入的字符串符合要求,就会输出相应的提示信息;如果不符合要求,则会输出错误信息。
阅读全文