小博主也是初学者,肯定有地方可以用更简单的方法,希望可以指点出来。谢谢!
1、 让用户输入一个100以内的整数x,再输入一个100到200之间的整数y,然后程序随机一个x到y之间的整数并打印。
public class Test1 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in); System.out.print("输入一个100以内的整数x: "); int x=sc.nextInt(); System.out.print("输入一个100到200之间的整数y: "); int y=sc.nextInt(); int a=(int) (Math.random()*(y-x))+x; System.out.println("程序随机一个x到y之间的整数: "+a); } }
2.随机两个0到100之间的整数,然后使用较大的一个数减去较小的一个数,再判断这个差的奇偶性。
public class Test2 {
public static void main(String[] args) {
int a = (int) (Math.random() * 100); int b = (int) (Math.random() * 100); int sub = Math.abs(a - b); if (sub != 0 && sub % 2 == 0) {
System.out.println(sub + "为偶数"); } else if (sub != 0 && sub % 2 != 0) {
System.out.println(sub + "为奇数"); } else {
System.out.println(sub + "为非奇非偶"); } } }
public class Test3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); System.out.print("请输入a:"); int a = sc.nextInt(); System.out.print("请输入b:"); int b = sc.nextInt(); System.out.print("请输入c:"); int c = sc.nextInt(); int sum = a + b + c; int max = Math.max(Math.max(a, b), c); int min = Math.min(Math.min(a, b), c); int middle = sum - max - min; System.out.println(max + ">=" + middle + ">=" + min); } }
public class Test4 {
public static void main(String[] args) {
int x = (int) (Math.random() * 100 + 100); System.out.println("随机一个100到200之间的整数x: " + x); Scanner sc = new Scanner(System.in); System.out.print("输入一个10以内的整数y:"); int y = sc.nextInt(); if (x % y == 0) {
System.out.println(x + "是" + y + "的倍数"); } else {
System.out.println(x + "不是" + y + "的倍数"); } }
public class Test5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); System.out.print("输入x:"); double x = sc.nextDouble(); System.out.print("请输入y: "); double y = sc.nextDouble(); double result; System.out.print("请输入运算符: "); Scanner sc1 = new Scanner(System.in); String st = sc1.nextLine(); switch (st) {
case "+": result = x + y; break; case "-": result = x - y; break; case "*": result = x * y; break; case "/": result = x / y; break; default: throw new IllegalStateException("Unexpected value: " + st); } System.out.println(result); } }
6.编写代码实现如下内容:实现考试成绩分等级。[90-100] A等。[80-90) B等。[70-80) C等。 [60-70) D等。[0-60) E等。请根据给定成绩,输出对应的等级。说明:"[“表示包含,”)"表示不包含
public class Test6 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in); System.out.print("输入成绩:"); int grade=sc.nextInt(); //for循环 if (grade >= 90 && grade <= 100) {
System.out.println("A等"); } else if (grade >= 80) {
System.out.println("B等"); } else if (grade >= 70) {
System.out.println("C等"); } else if (grade >= 60) {
System.out.println("D等"); } else if (grade >= 0) {
System.out.println("E等"); } else {
System.out.println("没有记录"); } } }
7.分析以下需求,并用代码实现:
(1)根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入
(2)涨工资的条件如下:
[10-15) +5000
[5-10) +2500
[3~5) +1000
[1~3) +500
[0~1) +200
(3)如果用户输入的工龄为10,基本工资为3000,程序运行后打印格式"您目前工作了10年,基本工资为 3000元, 应涨工资 5000元,涨后工资 8000元"
public class Test7 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in); System.out.print("请输入工龄:"); int age=sc.nextInt(); System.out.print("请输入底薪: "); int money1=sc.nextInt(); if (age>=10&&age<15){
System.out.println("您目前工作了"+age+"年,基本工资为"+money1+"元, 应涨工资 5000元,涨后工资"+(money1+5000)+"元"); }else if (age>=5){
System.out.println("您目前工作了"+age+"年,基本工资为"+money1+"元, 应涨工资 2500元,涨后工资"+(money1+2500)+"元"); }else if (age>=3){
System.out.println("您目前工作了"+age+"年,基本工资为"+money1+"元, 应涨工资 1000元,涨后工资"+(money1+1000)+"元"); }else if (age>=1){
System.out.println("您目前工作了"+age+"年,基本工资为"+money1+"元, 应涨工资 500元,涨后工资"+(money1+500)+"元"); }else if (age>=0){
System.out.println("您目前工作了"+age+"年,基本工资为"+money1+"元, 应涨工资 200元,涨后工资"+(money1+200)+"元"); }else{
System.out.println("老板给你"); } } }
1.编写程序,生成5个1至10之间的随机整数,并打印结果到控制台。
public class Test9 {
public static void main(String[] args) {
for (int i = 0; i <5 ; i++) {
System.out.print((int)(Math.random()*9+1)+"\t"); } } }
2.判断101-200之间有多少个素数,并输出所有素数。
public class Test10 {
public static void main(String[] args) {
int a = 0; for (int i = 101; i <= 200; i++) {
for (int j = 2; j <= i; j++) {
if (i % j == 0) {
break; } else if (j == i - 1) {
a += 1; System.out.print(i + "为素数\t"); } } } System.out.println(); System.out.print("总共有"+a+"个素数"); } }
3.编写程序,打印1到100之内的整数,但数字中包含7或者7的倍数要跳过。(逢7过)
public class Test10 {
public static void main(String[] args) {
for(int i=1;i<=100;i++){
if(i%7==0||i/10==7||i%10==7){
System.out.print(""); }else{
System.out.print(i+"\t"); } } }
4.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。
public class Test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); System.out.print("请输入一个1~9的数:"); int a = sc.nextInt();//a的值 System.out.print("请输入一个数:"); int b = sc.nextInt();//a的位数 int r = 0;//r是中间结果 int s = 0;//结果 for (int j = 0; j < b; j++) {
for (int i = 0; i < b - j; i++) {
int num = (int) Math.pow(10, i); r += a * num; } System.out.print(r + " "); s += r; r = 0; } System.out.println(); System.out.println("相加结果:" + s); } }
5.求1+2+3+…+1000的和,把和输出,计算每步结果中有多少个8结尾的数。
public class Test12 {
public static void main(String[] args) {
int num=0; int add=0; for (int i = 1; i <=1000 ; i++) {
add+=i; if(add%10==8){
num+=1; } } System.out.println("总和:"+add+" 位数为8的有"+num+"个"); } }
6.输出下图案
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1… 7
1 …100
public class Test14 {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
for (int j = 1; j < i + 1; j++) {
System.out.print(j + "\t"); } System.out.println(); } } }
7.求水仙花数(一个三位数,个十百位每位数的立方和等于该数本身)
public class Test2 {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int a = i / 100; //百位 int b = i % 100 / 10; //十位 int c = i % 10; //个位 if (i == a * a * a + b * b * b + c * c * c) {
System.out.print(+i + "\t"); } } } }
8.使用 *号在分别在控制台输出等腰三角形、菱形
public class Test18 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in); System.out.print("随机输入一个数:"); int line = sc.nextInt(); //等腰三角形 System.out.println("打印一个等腰三角形:"); for (int i = 1; i <= line; i++) {
for (int j = line -i; j >= 0; j--) {
System.out.print(" "); } for (int k = 0; k < 2 * i - 1; k++) {
System.out.print("*"); } System.out.println(); } //菱形 System.out.println("打印一个菱形:"); for (int i = 1; i <= line/2+1; i++) {
for (int j = line/2-i; j >=0; j--) {
System.out.print(" "); } for (int k = 0; k < 2 * i - 1; k++) {
System.out.print("*"); } System.out.println(); } for (int i =1; i <=line/2; i++) {
for (int j = 1; j <=i; j++) {
System.out.print(" "); } for (int k=line-2*i;k>0;k--){
System.out.print("*"); } System.out.println(); } } }