package zh.codegym.task.task07.task0712;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
最短或最长
*/
public class Solution {
public static void main(String[] args) throws Exception {
//在此编写你的代码
ArrayList<String> list = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int i=0;
while(i<10)
{
String A = reader.readLine();
list.add(A);
i++;
}
int max=list.get(0).length();
for(int j=0;j<list.size();j++)
{
int K=list.get(j).length();
if(max>=K)
{
max=K;
System.out.println(list.get(j));
break;
}
if(max<=K)
{
max=K;
System.out.println(list.get(j));
break;
}
}
// System.out.println(max);
}
}
Can I write it this way, please?
正在讨论
评论 (6)
- 受欢迎
- 新
- 旧
你必须先登录才能发表评论
不愿意透露专业的计算机学生
12 九月 2020, 02:59
package zh.codegym.task.task07.task0712;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
最短或最长
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> str = new ArrayList<>();
String min = "";
String max = "";
for(int i = 0;i < 10; i++){
str.add(reader.readLine());
if(i == 0){
min = str.get(0);
max = str.get(0);
}
if(str.get(i).length() < min.length())
min = str.get(i);
if(str.get(i).length() > max.length())
max = str.get(i);
}
System.out.println(str.get(Math.min(str.indexOf(min), str.indexOf(max))));
}
}
0
江江是小白
18 八月 2020, 19:59
// 我的思路
//第一步先循环写入
//第二步循环找出最长 和 最短
//第三步找到最长和最短分别在第几次找到的
//第四部判断谁先然后提示
//我也是小白 希望对你们有帮助啦哈哈哈
public class Solution {
public static void main(String[] args) throws Exception {
//在此编写你的代码
int zc = 0;
int zd = 100;
int zccs = 0;
int zdcs = 0;
boolean zdkq = true;
boolean zckq = true;
ArrayList<String> list = new ArrayList<String>();
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0 ;i < 10;i++){
list.add(read.readLine());
}
for (int o = 0;o < 10;o++){
int leng = list.get(o).length();
if (zc < leng){
zc = leng;
// System.out.println(zc);
}
if (zd > leng){
zd = leng;
//System.out.println(zd);
}
}
for(int p = 0;p < 10;p++){
if(zdkq == true){
if(list.get(p).length() == zd){
zdcs = p;
//System.out.println("最短在"+zdcs);
zdkq = false;
}
}
if(zckq == true){
if(list.get(p).length() == zc){
zccs = p;
//System.out.println("最长在"+zccs);
zckq = false;
}
}
}
System.out.println(zdcs<zccs?list.get(zdcs):list.get(zccs));
}
}
+1
hidden #10646198
30 七月 2020, 07:32
0
AE86
15 七月 2020, 13:39
思路:
1.循环读取
2.循环排序获取最短长度
3.循环排序获取最长长度
4.循环列表 判读结果 等于最长或者最短长度的字符串 打印输出!重点 berak;立马结束。
//在此编写你的代码
ArrayList<String> list = new ArrayList<String>();
for(int i=0;i<10;i++){
Scanner sc =new Scanner(System.in);
String s =sc.nextLine();
list.add(s);
}
int s =list.get(0).length();//最短长度
for(int j=1;j<10;j++){
if(list.get(j).length()<s){
s =list.get(j).length();
}
}
//System.out.println(s);
int d =list.get(0).length();//最长长度
for(int w=1;w<10;w++){
if(list.get(w).length()>d){
d =list.get(w).length();
}
}
//System.out.println(d);
for(String n : list){
if(n.length()==s|n.length()==d){
System.out.println(n);
break;
}
}
0
hidden #10646198
30 七月 2020, 06:25
10个Scanner对象 除非有需要 不要把new写进循环里
0
AdventurerJohn
9 六月 2020, 01:39
You just compare the size of the two adjacent, not the largest and smallest
你这个只是比较了相邻两个的大小,并不是比较的最大跟最小
0