问一道java基础编程题

xjsglg 2008-04-30 07:36:20
题目:
设计一个简单的Java应用程序, 满足下面的要求:
1 接受由命令行传来的多个String类型的参数, 首先将它们打印在屏幕上, 每个参数一行. 如果调用者没有传入任何参数, 则不进行下面的处理.
对这些参数进行处理, 具体的处理方式未定.
2 将2得到的处理结果打印在屏幕上.
3 目前第2步中需要完成下面三种处理:
1)将所有的String参数连接成一个字符串, 中间以逗号(”,”)分隔.
2)将第一个和最后一个字符串的所有小写字母转换成大写, 并连接起来, 中间没有分隔符. (如果只传入一个参数, 则只转换它)
3)在第2个到最后一个字符串中, 查找第一个字符串. 并将查找的结果以下面的形式输出, 每个占一行: (如果只传入一个参数, 则不进行输出)
[参数的索引]: 查找的结果
比如找到的情况:
3: Founded “String1”
没找到的情况:
4: Not Founded “String1”
要求:
在完成机能要件的前提下, 尽量改善系统的灵活性和可扩展性.
遵守文件注释的模板.
-----------------------------------------
拜托了!
...全文
501 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
胡矣 2008-05-07
  • 打赏
  • 举报
回复

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Work {

// 1
public static void questionOne(String[] input) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < input.length; i++) {
if ((i + 1 < input.length) && "end".equals(input[i + 1])) {
sb.append(input[i]);
break;
} else {
sb.append(input[i]);
sb.append(",");

}
}
System.out.println("QUESTION ONE :");
System.out.println(sb);
}

// 2
public static void questionTwo(String[] input) {
StringBuffer sb = new StringBuffer();
String temp = "";
for (int i = 0; i < input.length; i++) {

if ((i + 1 < input.length) && "end".equals(input[i + 1])) {
sb.append(input[i].toUpperCase());
break;
} else {
if (i == 0) {
sb.append(input[i].toUpperCase());
} else {
sb.append(input[i]);
}

}
}

System.out.println("QUESTION TWO :");
System.out.println(sb);
}

// 3
public static void questionThree(String[] input) {
System.out.println("QUESTION THREE :");
boolean flag = false;
for (int i = 0; i < input.length; i++) {
if ((i + 1 < input.length) && "end".equals(input[i + 1])) {
if (i == 0) {
System.exit(0);
}
// sb.append(input[i]);
if (input[0].equals(input[i])) {
if (flag == false) {
flag = true;
}
System.out.println("[" + i + "]:" + input[i]);
}
break;
} else {
if (input[0].equals(input[i]) && i != 0) {
if (flag == false) {
flag = true;
}
System.out.println("[" + i + "]:" + input[i]);
}
}
}
if (flag == false) {
System.out.println("Not Founded " + "\"" + input[0] + "\"");
} else {
System.out.println("Founded " + "\"" + input[0] + "\"");
}

}

public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

// 暂时最多支持100个字符串
String[] input = new String[100];

System.out.println("请输入字符串,输入\"end\"时候退出.");

for (int i = 0; true; i++) {
try {
input[i] = br.readLine();
// 当输入为exit时候,输入完成.
if ("end".equals(input[i])) {
break;
}
} catch (IOException e) {
e.printStackTrace();
}
}

if ("end".equals(input[0])) {
System.out.println("无字符串输入.");
System.exit(0);
}

questionOne(input);

questionTwo(input);

questionThree(input);

}
}
liupeng19871128 2008-05-07
  • 打赏
  • 举报
回复
GM,学习JAVA就要多练,你怎么都让人家帮你作了那,这么好的机会,多多实践一下啊,BS你。
东哥捱挮 2008-05-07
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 migo2008 的回复:]
引用 22 楼 shigu_java 的回复:
引用 11 楼 gongziy 的回复:
9楼的摆明了害小学生。。。那个肯定是他们的作业题。。。。像我一样经常给同学们做作业。。。。这样是不对的。。。
[/Quote]
kekeemx 2008-05-04
  • 打赏
  • 举报
回复
、、。。。
作业题啊.......我当时咋就没来求过呢
migo2008 2008-05-04
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 shigu_java 的回复:]
引用 11 楼 gongziy 的回复:
9楼的摆明了害小学生。。。那个肯定是他们的作业题。。。。像我一样经常给同学们做作业。。。。这样是不对的。。。
[/Quote]
liuyangccu 2008-05-04
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 gongziy 的回复:]
9楼的摆明了害小学生。。。那个肯定是他们的作业题。。。。像我一样经常给同学们做作业。。。。这样是不对的。。。
[/Quote]
liuyangccu 2008-05-04
  • 打赏
  • 举报
回复
9楼的摆明了害小学生。。。那个肯定是他们的作业题。。。。像我一样经常给同学们做作业。。。。这样是不对的。。。
Charlemagne 2008-05-04
  • 打赏
  • 举报
回复
支持楼主自己动手!相信你一定能做好的!
goodmrning 2008-05-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 kugou1314 的回复:]
林子大了什么鸟都有,呵呵
[/Quote]
mdog26 2008-05-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jiangnaisong 的回复:]
引用 11 楼 gongziy 的回复:
9楼的摆明了害小学生。。。那个肯定是他们的作业题。。。。像我一样经常给同学们做作业。。。。这样是不对的。。。

答:说得对!支持!!!
[/Quote]
哈哈
lixiao0702 2008-05-03
  • 打赏
  • 举报
回复
应该自己做啊,呵呵,让别人帮着做练不出水平来~!~
raigor235 2008-05-03
  • 打赏
  • 举报
回复
顶!!  你个肺啊!!!
diandianzhu_1985 2008-05-03
  • 打赏
  • 举报
回复
9楼是想少一个竞争对手吧!
liufeng2004110126 2008-05-03
  • 打赏
  • 举报
回复
不错,很有创意,,练炼
kugou1314 2008-04-30
  • 打赏
  • 举报
回复
林子大了什么鸟都有,呵呵
云上飞翔 2008-04-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 gongziy 的回复:]
9楼的摆明了害小学生。。。那个肯定是他们的作业题。。。。像我一样经常给同学们做作业。。。。这样是不对的。。。
[/Quote]
答:说得对!支持!!!
gongziy 2008-04-30
  • 打赏
  • 举报
回复
9楼的摆明了害小学生。。。那个肯定是他们的作业题。。。。像我一样经常给同学们做作业。。。。这样是不对的。。。
nihuajie05 2008-04-30
  • 打赏
  • 举报
回复
真有人做列
呵呵
weed_refined 2008-04-30
  • 打赏
  • 举报
回复
public class HandleCmdParam
{
public static void main(String[] args)
{
// 当命令行参数为空时的系统提示
if(args.length == 0)
{
output("命令行参数为空,程序退出!!!");
System.exit(0);
}

// 取得参数个数
int len = args.length;

// 依次打印每个参数
output("您输入的参数如下:");

for(int i = 0; i < len; i++)
{
output(args[i]);
}

output("----------------------------------");

// 用逗号连成的字符串变量
String connecttedStr = "";

// 只有一个参数时不用连接
if(len == 1)
connecttedStr += args[0];

// 多个参数的连接
else
{
for(int i = 0; i < len; i++)
{
// 连接第一个时不加逗号
if("".equals(connecttedStr))
connecttedStr += args[i];

// 从第二个起加逗号
else
connecttedStr += "," + args[i];
}
}

// 打印用逗号连成的字符串
output("将参数用逗号连成字符串的结果为:");
output(connecttedStr);
output("----------------------------------");

// 转换第一个和最后一个字符串的小写字母
output("转换第一个和最后一个字符串的所有小写字母为大写字母并相连:");

// 只有一个参数的情况
if(len == 1)
output(args[0].toUpperCase());

// 有多个参数的情况
else
{
// 转换第一个和最后一个参数成大写并相连
output(args[0].toUpperCase() + args[len - 1].toUpperCase());
output("----------------------------------");

// 是否在第二个到最后一个参数中找到与第一个参数相同的参数是标志
boolean flag = false;

// 查找第一个参数
output("在第二个到最后一个参数中查找第一个参数结果:");
for(int i = 1; i < len; i++)
{
if(args[i].indexOf(args[0]) != -1)
{
flag = true;
output("Founded \"" + args[0] + "\" at position [" + i + "]");
}
}

// 找不到第一个参数
if(!flag)
{
output("Not Founded \"" + args[0] + "\"");
}
}
}

private static void output(String str)
{
System.out.println(str);
}
}
wangshikang_it 2008-04-30
  • 打赏
  • 举报
回复
自己做
加载更多回复(7)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧