BC24-总成绩和平均分计算
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
float score1 = in.nextFloat();
float score2 = in.nextFloat();
float score3 = in.nextFloat();
float sum = score1+score2+score3;
float average = sum/3;
System.out.println(new DecimalFormat("0.00").format(sum)+" "+new DecimalFormat("0.00").format(average));
}
}
-
读取键盘输入整数浮点数用nextInt、nextFloat…
-
取小数点后几位用DecimalFormat:new DecimalFormat(“0.##”).format(…)
方法2:String.format("%.2f",floatnumber);System.out.printf(
"%.2f"
,floatnumber);
BC42-完美成绩
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner (System.in);
int score;
while(in.hasNext()){
score = in.nextInt();
if(score>=90||score<=100) System.out.println("Perfect");
}
}
}
-
循环判断:有输入时循环in.hasNext()
-
与|| 或&&
-
print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。
printf是格式化输出的形式。
BC46-判断是元音还是辅音
import java.util.Scanner;
public class Main{
public static void main(String[] args){
char letter;
Scanner in = new Scanner(System.in);
while(in.hasNext()){
letter = in.next().charAt(0);
if(letter=='A'||letter=='a'||letter=='E'||letter=='e'||letter=='I'||letter=='i'||letter=='O'||letter=='o'||letter=='U'||letter=='u')
System.out.println("Vowel");
else System.out.println("Consonant");
}
}
}
- Java读入单个字符方法:in.next().charAt(0) //获取读入字符串的首字符
- 单个字符比较值用单引号’ ’
但是感觉有点麻烦,参考一下别人的代码。
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
String str = null;
String target = "AEIOUaeiou";
while((str = br.readLine()) != null) {
char ch = str.charAt(0);
if (target.indexOf(ch) != -1) {
System.out.println("Vowel");
} else {
System.out.println("Consonant");
}
}
br.close();
}
}
- indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回-1。
- System.in的定义为 “static InputStream in;”。很显然直接使用System.in的话有很多局限性,因此我们对其进行包装,可以收先用InputStreamReader将Stream转化为Reader,这样可以以字符为单位进行传递。再使用BufferedReader将其进行包装,这样可以使用readLine()方法来读取一整行并保存在String中。从标准输入流System.in中直接读取使用者输入时,使用者每输入一个字符,System.in就读取一个字符。为了能一次读取一行使用者的输入,使用了BufferedReader来对使用者输入的字符进行缓冲。readLine()方法会在读取到使用者的换行字符时,再一次将整行字符串传入。System.in是一个位流,为了转换为字符流,可使用InputStreamReader为其进行字符转换,然后再使用BufferedReader为其增加缓冲功能。例如:BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BC49-判断两个数的大小关系
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
String str;
int t;
while((str=br.readLine())!=null){
t = Integer.parseInt(str);
if(t>0) System.out.println("1");
else if(t==0) System.out.println("0.5");
else System.out.println("0");
}
}
}
Integer.parseInt(String)就是将String字符类型数据转换为Integer整型数据。
Integer.parseInt(String)遇到一些不能被转换为整型的字符时,会抛出异常。
BC72-平均身高
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main{
public static void main(String[] args){
float h[] = new float[5];
float sum = 0;
Scanner in = new Scanner(System.in);
for(int i=0;i<5;i++){
h[i]=in.nextFloat();
sum = sum + h[i];
}
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(sum/5));
}
}
Java 中定义数组的语法有两种:
type arrayName[];
type[] arrayName;
type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量。
通常,你可以在定义的同时分配空间,语法为:type arrayName[] = new type[arraySize];
例如:int demoArray[] = new int[3];
BC86-奇偶统计
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int N = in.nextInt();
if(N%2==1) System.out.println((N+1)/2+" "+(N-1)/2);
else System.out.println(N/2+" "+N/2);
}
}
取余(取模)运算:%