HDU steps 1.2.8 Vowel Counting(ch【】数组参数传递)

Vowel Counting

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2460 Accepted Submission(s): 1354

Problem Description
The "Vowel-Counting-Word"(VCW), complies with the following conditions.
Each vowel in the word must be uppercase. 
Each consonant (the letters except the vowels) must be lowercase.
For example, "ApplE" is the VCW of "aPPle", "jUhUA" is the VCW of "Juhua".
Give you some words; your task is to get the "Vowel-Counting-Word" of each word.
 

Input
The first line of the input contains an integer T (T<=20) which means the number of test cases.
For each case, there is a line contains the word (only contains uppercase and lowercase). The length of the word is not greater than 50.
 

Output
For each case, output its Vowel-Counting-Word.
 

Sample Input
4
XYz
application
qwcvb
aeioOa 
 

Sample Output
xyz
ApplIcAtIOn
qwcvb
AEIOOA
 

Author
AppleMan
 

Source
HDU 2nd “Vegetable-Birds Cup” Programming Open Contest
 

Recommend
lcy

分析:

这个题目没有很难的算法问题,主要可以用于熟悉Java的基本函数操作。注意:这里在f()函数里面以char【】作为参数传递,可以直接对字符数组进行修改,不需要再领开辟空间。当使用String时,修改不方便。因此char【】可以用在需要修改存储内容的时候。

代码:

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
	private static final int N = 50;
	public static void main(String[] args) {
		char[] ch = new char[N];
		int n;
		Scanner in = new Scanner(System.in);
		n = in.nextInt();
		while (n-- != 0) {
			ch = in.next().toCharArray();
			f(ch);
			System.out.println(ch);
		}
	}

	public static void f(char[] ch) {
		for (int i = 0; i < ch.length; i++) {
			if (ch[i] == 'a' || ch[i] == 'e' || ch[i] == 'i' || ch[i] == 'o'
					|| ch[i] == 'u') {
				ch[i] = Character.toUpperCase(ch[i]);
			} else if (ch[i] == 'A' || ch[i] == 'E' || ch[i] == 'I'
					|| ch[i] == 'O' || ch[i] == 'U') {
				continue;
			} else {
				ch[i] = Character.toLowerCase(ch[i]);
			}
		}
	}

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值