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();
}
}
}
}