求助关于Java题目。 小题有点多就给100分吧。 感谢。。

 我来答
k2101170
2016-11-15 · TA获得超过416个赞
知道小有建树答主
回答量:367
采纳率:66%
帮助的人:141万
展开全部

先把题目翻译一下吧,大概是:

1、找出最大值和最小值。

2、相邻的数求和。

3、找出相邻的重复的值。


Scanner input = new Scanner(System.in);

System.out.println("第一题");

System.out.print("输入:");

String s = input.nextLine();

if (null != s && s.length() > 0) {

String[] arr = s.split(" ");

int max = 0;

int min = 0;

for (int i = 0; i < arr.length; i++) {

if (i == 0) {

max = Integer.parseInt(arr[0]);

min = Integer.parseInt(arr[0]);

} else {

int num = Integer.parseInt(arr[i]);

if (num > max) {

max = num;

}

if (num < min) {

min = num;

}

}

}

System.out.println("最大值是:" + max + ", 最小值是:" + min);

} else {

System.err.println("没有输入数组!");

}


System.out.println("第二题");

System.out.print("输入:");

s = input.nextLine();

if (null != s && s.length() > 0) {

String[] arr = s.split(" ");

StringBuffer result = new StringBuffer();

if (arr.length < 2) {

System.err.println("至少两个数字!");

} else {

for (int i = 1; i < arr.length; i++) {

int a = Integer.parseInt(arr[i - 1]);

int b = Integer.parseInt(arr[i]);

result.append(" " + (a + b));

}

System.out.println("第二题结果为:" + result.toString());

}

} else {

System.err.println("没有输入数组!");

}


System.out.println("第三题");

System.out.print("输入:");

s = input.nextLine();

if (null != s && s.length() > 0) {

String[] arr = s.split(" ");

HashSet set = new HashSet();

if (arr.length < 2) {

System.err.println("至少两个数字!");

} else {

for (int i = 1; i < arr.length; i++) {

int a = Integer.parseInt(arr[i - 1]);

int b = Integer.parseInt(arr[i]);

if (a == b) {

set.add(b);

}

}

System.out.print("第三题结果为:");

Iterator it = set.iterator();

while (it.hasNext()) {

Object o = it.next();

System.out.print(o + " ");

}

}

} else {

System.err.println("没有输入数组!");

}

追问
第二题好像还要加个一个首项
追答
对,是少了一个。
在StringBuffer result = new StringBuffer();这一行后面,再加一行:
result.append(arr[0]);
小傅说数码
2016-11-15 · 数码小专家,专注分享数码知识
小傅说数码
采纳数:432 获赞数:29256

向TA提问 私信TA
展开全部
List<Integer> input = Arrays.asList(1, 3, 3, 4, 5, 5, 6, 6, 6, 2);

// 1输出最大最小值
IntSummaryStatistics iss = input.stream().mapToInt(e -> e).summaryStatistics();
System.out.println("最小值:" + iss.getMin() + ",最大值:" + iss.getMax());
// 2输出累加数
System.out.print("累加数:");
input.stream().reduce((a, b) -> {
System.out.print(a + b + " ");
return a + b;
});
System.out.println();
// 3输出相邻重复数
List<Integer> output3 = new ArrayList<>();
input.stream().reduce((a, b) -> {
if (a == b && (output3.size()==0 || output3.get(output3.size() - 1) != b)) {
output3.add(b);
}
return b;
});
System.out.println("相邻重复数:"+output3);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7b8cbeb
2016-11-15 · TA获得超过452个赞
知道小有建树答主
回答量:521
采纳率:0%
帮助的人:489万
展开全部
理解可能还是有点偏差的,你确定一下我再写:写一个程序读取一行整数序列并打印输出:1.最大值和最小值 2.累积总和,如果输入为1 7 2 9 1,程序打印1 8 10 19.. 3.打印所有相邻重复的数。如果输入为1 3 3 4 5 5 6 6 6 2,输出 3 5 6。最后一句没理解,6是出现频率最高的,然后要+1还是特别输出,比如输出出现最多的是:6,6,6
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式