题目:1.如果字符串中的字符为大写字母,则转换为小写字母
2.如果字符串中的字符为小写字母,则直接输出
3.如果字符串中的字符不是字母,则过滤掉
首先明确如何输入字符数组
import java.util.Scanner;
class putin
{
int a;
String st;
public void iny(){
Scanner in=new Scanner(System.in);
a=in.nextInt();
st=in.next();}
}
运用类
import java.util.Scanner;里面的Scanner函数,将字符数组储存在String类型的变量中,但是在这种类型的变量中不可以实现对单个元素进行操作,所以接下来将string类型里面的字符数组转移到char[]类型中。
char[] sd=new char[a];
for(int i=0;i<a;i++)
{
sd[i]=st.charAt(i);
}
运用charAt()类实现该操作,此时字符数组存放在char[]类型中,可以通过下标对单个元素进行操作
下面为输出部分
for(int i=0;i<a;i++)
{
if(sd[i]>='a'&&sd[i]<='z')
{
System.out.print(sd[i]);
}
if(sd[i]>='A'&&sd[i]<='Z')
{
System.out.print((char)(sd[i]+'a'-'A'));
}
}
符合条件sd[i]>='a'&&sd[i]<='z',则对该元素直接输出;在大写字母范围内则进行sd[i]+'a'-'A'操作,转换成小写字母。
完整代码如下:
import java.util.Scanner;
class putin
{
int a;
String st;
public void iny(){
Scanner in=new Scanner(System.in);
a=in.nextInt();
st=in.next();}
}
class form
{
int a;
String st;
public form(int a,String st)
{
this.a=a;
this.st=st;
}
public void form1()
{
char[] sd=new char[a];
for(int i=0;i<a;i++)
{
sd[i]=st.charAt(i);
}
for(int i=0;i<a;i++)
{
if(sd[i]>='a'&&sd[i]<='z')
{
System.out.print(sd[i]);
}
if(sd[i]>='A'&&sd[i]<='Z')
{
System.out.print((char)(sd[i]+'a'-'A'));
}
}
}
}
public class Main {
public static void main(String[] args) {
while(true){
putin inth=new putin();
inth.iny();
form inch=new form(inth.a,inth.st);
inch.form1();
System.out.print("\n");
}}
}
运行结果如下: