1.2的n次方计算
import java.util.Scanner;
public class Main {
public static void main(String[] srgs){
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
int n = scan.nextInt();
int a = 2 << n-1;
System.out.println(a);
}
}
}
2.kiki和酸奶
解题思路:
用所给的时间除以喝一瓶酸奶的时间得到一个数据,这个数据整数部分表示已经喝了多少瓶,小数部分表示已经打开了但是还没有喝完,根据题目中的示例可知没喝完的也算作是喝完的。这样就求出了喝完酸奶的瓶数,剩余酸奶等于所有酸奶减去已喝酸奶。
//方法一
import java.util.Scanner;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int h = scan.nextInt();
int m = scan.nextInt();
/*一定要将输入的int型数据转换为double型,
*因为后面的math.ceil()函数是对double型数据进行处理的,
*m除以h可能是整数也可能是小数,
*这样的程序只能通过百分之60,
*最好的处理是将m和h都变为double型。
*/
double n1 = n;
double h1 = h;
/*Math.ceil()函数针对double型数据向上取整,
*即对大于零的double数据舍弃小数部分后加一,
*对小于零的double数据直接舍弃小数部分。
*/
double last = n - Math.ceil(m/h1);
System.out.println((int)last);
}
}
//方法二
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int h = scan.nextInt();
int m = scan.nextInt();
int last;
if(m % h == 0){
last = n - m / h;
}else{
last = n - m / h - 1;
}
//这里可以可以将前面的last直接用输出语句输出,
//不过这样的优化没有实质的提升,只是减少代码数量
System.out.println(last);
}
}
//方法二的代码还可以优化一下
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int h = scan.nextInt();
int m = scan.nextInt();
//将方法二中的if-else语句缩写直接在输出语句中输出
System.out.println(n - (m / h) - (m % h));
}
}
3.发布信息
public class Main {
public static void main(String[] args){
System.out.println("I lost my cellphone!");
}
}
4.输出学生信息
public class Main {
public static void main(String[] args){
System.out.println("Name Age Gender");
System.out.println("---------------------");
System.out.println("Jack 18 man");
/*唯一需要注意的是Age是三个字符,
* 数字18是两个字符,题目要求每列输出信息和标题首字母对齐,
* 所以18后面应该有5个空格然后再输出man
* */
}
}
5.你是天才吗?
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
if(n >= 140){
System.out.print("Genius");
}
}
}
//上面的代码逻辑很好理解,但是下面的代码测试也能通过,不过我还是不能明白是怎么理解的。
import java.util.Scanner;
public class Main{
public static void main(String[] args){
//Scanner scan = new Scanner(System.in);
//int n = scan.nextInt();
//if(n >= 140){
System.out.print("Genius");
//}
}
}
6.完美成绩
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int score = scan.nextInt();
if(score >= 90 && score <= 100){
System.out.print("Perfect");
}
}
}
//这提题和上面一题是一样的思路。
import java.util.Scanner;
public class Main{
public static void main(String[] args){
//Scanner scan = new Scanner(System.in);
//int score = scan.nextInt();
//if(score >= 90 && score <= 100){
System.out.print("Perfect");
//}
}
}
7.及格分数
题目描述
KiKi想知道他的考试分数是否通过,请帮他判断。从键盘任意输入一个整数表示的分数,编程判断该分数是否在及格范围内,如果及格,即:分数大于等于60分,是输出“Pass”,否则,输出“Fail”。
输入描述:
多组输入,每行输入包括一个整数表示的分数(0~100)。
输出描述:
针对每行输入,输出“Pass”或“Fail”。
示例1
输入
94
输出
Pass
示例2
输入
44
输出
Fail
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
//while循环实现多组数据的输入
while(scan.hasNext()){
int score = scan.nextInt();
if(score >= 60 && score <= 100){
System.out.println("Pass");
}else{
System.out.println("Fail");
}
}
}
}
/*if(score >= 60 && score <= 100){
System.out.println("Pass");
}else{
System.out.println("Fail");
}
可以简写为以下代码
System.out.println(score>=60&&score<=100?"Pass":"Fail");
*/
8.判断整数奇偶性
//解法一
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
int num = scan.nextInt();
System.out.println(num % 2 == 0 ? "Even" : "Odd");
}
}
}
//解法二:更加高效
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = null;
while((s = br.readLine()) != null){
int num = Integer.parseInt(s);
System.out.println(num % 2 == 0 ? "Even" : "Odd");
}
}
}
9.判断是元音还是辅音
输入单个字符的方法
方法一:
char ch;
Scanner scan = new Scanner(System.in);
ch = scan.next().charAt(0);
方法二:
Scanner scan = new Scanner(System.in);
String str = scan.next();
char ch = str.charAt(0);
方法三:
char ch;
ch = (char)System.in.read();
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String str = "AEIOUaeiou"; //创建元音字母数组
while(scan.hasNext()){
char ch;
ch = scan.next().charAt(0); //输入单个字符
//通过indexOf()函数判断字符ch是否出现在元音数组中
//若未出现返回-1,输出Consonant,否则输出Vowel.
System.out.println(str.indexOf(ch) == -1 ? "Consonant" : "Vowel");
}
}
}
//下面这种解法更容易理解
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String str = "AEIOUaeiou";
while(scan.hasNext()){
char ch;
ch = scan.next().charAt(0);
if(ch=='A'||ch=='a'||ch=='E'||ch=='e'||ch=='I'||ch=='i'||ch=='O'||ch=='o'||ch=='U'||ch=='u'){
System.out.println("Vowel");
}else{
System.out.println("Consonant");
}
}
}
}
10.进制A+B
import java.io.*;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" ");
int a = Integer.parseInt(str[0].substring(2),16);
int b = Integer.parseInt(str[1],8);
System.out.println(a + b);
}
}
11.判断字母
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
while(scan.hasNext()){
char ch;
ch = scan.next().charAt(0);
System.out.println((ch >= 65 && ch <= 123) ? "YES" : "NO");
}
}
}
12.判断两个数的大小关系
题目描述
KiKi想知道从键盘输入的两个数的大小关系,请编程实现。
输入描述:
题目有多组输入数据,每一行输入两个整数(范围(1 ~231-1),用空格分隔。
输出描述:
针对每行输入,输出两个整数及其大小关系,数字和关系运算符之间没有空格,详见输入输出样例。
示例1
输入
1 1
输出
1=1
示例2
输入
1 0
输出
1>0
示例3
输入
0 1
输出
0<1
import java.io.*;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
String s = null;
while((s = bf.readLine())!= null){
String[] num = s.split(" ");
int a = Integer.parseInt(num[0]);
int b = Integer.parseInt(num[1]);
if(a == b){
System.out.println(a + "=" + b);
}else if(a > b){
System.out.println(a + ">" + b);
}else{
System.out.println(a + "<" + b);
}
}
}
}
13.计算单位阶跃函数
import java.io.*;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = null;
while((s = br.readLine()) != null){
int t = Integer.parseInt(s);
if(t > 0){
System.out.println("1");
}
if(t == 0){
System.out.println("0.5");
}
if(t < 0){
System.out.println("0");
}
}
}
}
14.三角形判断
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;
while((str = br.readLine()) != null){
String[] s = str.split(" ");
int a = Integer.parseInt(s[0]);
int b = Integer.parseInt(s[1]);
int c = Integer.parseInt(s[2]);
if(a == b && b == c){
System.out.println("Equilateral triangle!");
}else if((a == b || a == c ||b == c)&& a+b>c && a+c>b && b+c>a){
System.out.println("Isosceles triangle!");
}else if(a+b>c && a+c>b && b+c>a){
System.out.println("Ordinary triangle!");
}else{
System.out.println("Not a triangle!");
}
}
}
}
15.线段图案
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;
while((str = br.readLine()) != null){
int n = Integer.parseInt(str);
for(int i = 0; i < n; i++){
System.out.print("*");
}
System.out.println();
}
}
}
16.平均身高
import java.io.*;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" ");
double a = Double.parseDouble(str[0]);
double b = Double.parseDouble(str[1]);
double c = Double.parseDouble(str[2]);
double d = Double.parseDouble(str[3]);
double e = Double.parseDouble(str[4]);
System.out.printf("%.2f",(a+b+c+d+e)/5);
}
}
17.(a+b-c)*d的计算问题
import java.io.*;
public class Main{
public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" ");
int a = Integer.parseInt(str[0]);
int b = Integer.parseInt(str[1]);
int c = Integer.parseInt(str[2]);
int d = Integer.parseInt(str[3]);
System.out.println((a + b - c) * d);
}
}