文章申明:作者也为初学者,解答仅供参考,不一定是最优解;
一:7-1 sdut-sel-2 汽车超速罚款(选择结构)
答案:
import java.util.Scanner;
public class Main {
public static void main(String[] arg){
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
int c=b-a;
if(c>=1&&c<=20) {
System.out.println("You are speeding and your fine is 100.");
}
else if(c>=21&&c<=30){
System.out.println("You are speeding and your fine is 270.");
}
else if(c>=31)System.out.println("You are speeding and your fine is 500.");
else System.out.println("Congratulations, you are within the speed limit!");
}
}
二: 7-2 Java中二进制位运算
答案:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
String c=sc.next();
int b=sc.nextInt();
switch(c){
case "&":
System.out.println(a+" & "+b+" = "+(a&b));
break;
case "|":
System.out.println(a+" | "+b+" = "+(a|b));
break;
case "^":
System.out.println(a+" ^ "+b+" = "+(a^b));
break;
default:
System.out.println("ERROR");
break;
}
}
}
三:7-3 sdut-最大公约数和最小公倍数
答案:
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int a=sc.nextInt();
int b=sc.nextInt();
System.out.print(ans(a,b));
System.out.print(" "+a*b/ans(a,b));
System.out.println();
}
}
public static int ans( int a, int b){
if(b>a){
int tem=a;
a=b;
b=tem;