0
点赞
收藏
分享

微信扫一扫

杭电oj2072,2091字符串java实现

书坊尚 2022-08-24 阅读 73


2072​​题目链接​​ 思路:输入String,使用字符串分割,分割成小的字符数组,使用java的List储存不同单词,每次比较若全部不同则存入,返回List长度注意:不要用数组,数组长度无法改变并且数组处理空字符串和回车会很麻烦,附上代码

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {
public static void main(String []args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext())
{
String a=sc.nextLine();

boolean bre = false;
String b[]=a.split(" ");
for(int i=0;i<b.length;i++)
{
if(b[i].contains("#"))
bre=true;
}
if(bre)break;
List list=new ArrayList();
/*
* 算不同单词数
*/
for(int i=0;i<b.length;i++)
{
if(!list.contains(b[i]))
list.add(b[i]);
}
if(list.contains(""))
{
System.out.println(list.size()-1);
}
else
/*
* 算不同字母数
*/
// String c="";//去掉空格
// for(int i=0;i<b.length;i++)
// {
// c+=b[i];
// }
// char d[]=c.toCharArray();
// for(int q=0;q<d.length;q++)
// {
// if(!list.contains(d[q]))
// {
// list.add(d[q]);
// }
// }
System.out.println(list.size());
}
}

}

2091:​​题目链接​​​ 注意点:1:三角形的右侧没有多余的空格
2:相邻三角形有空行,输出第一个三角形没有空行,输出第二个以及以后才有空行。一个一个测试看不出可以复制多组测试数据直接粘贴进去测试。
代码如下:

import java.util.Scanner;
public class Main {
public static void main(String []args){
Scanner sc=new Scanner(System.in);
int u=1;
while(sc.hasNext())
{
u++;
String a=sc.nextLine();

String b[]=a.split(" ");
char c=b[0].charAt(0);
if(c=='@') {break;}
int d=Integer.parseInt(b[1]);
if(u>2)
{System.out.println();}
for(int i=0;i<d;i++)
{
if(i==d-1)
{
for(int j=0;j<2*d-1;j++)
{System.out.print(c);}
}
else {
for(int j=0;j<=(2*d-1)/2+i;j++)
if(i==Math.abs(j-(2*d-1)/2))
{
System.out.print(c);
}
else
System.out.print(" ");
}

System.out.println();

}


}
}

}


举报

相关推荐

0 条评论