自学Java第四天小练习

这些Java程序涉及了输入输出操作,包括获取用户输入的正整数进行特定计算,如判断正负并赋值,计算个人所得税,查询水果价格,以及字符大小写转换。程序使用了Scanner类来处理用户输入,并通过条件语句和循环结构实现不同逻辑。
摘要由CSDN通过智能技术生成
package day4;

import java.util.Scanner;

/*
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。
例:括号内是说明
输入:
3 (repeat=3)
2 -8 0
输出:
1 (x=2时y=1)
-1 (x=-8时y=-1)
0 (x=0时y=0)
*/
public class Test16 {
    public static void main(String args[]) {
        int repeat, x, y;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入运算次数:");
        repeat = sc.nextInt();
        for (int i = 1; i <= repeat; i++) {
            System.out.println("请输入一个整数:");
            x = sc.nextInt();
            if (x > 0)
                y = 1;
            else if (x == 0)
                y = 0;
            else
                y = -1;
            System.out.println(y);
        }
    }

}
package day4;

import java.util.Scanner;

/*输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个职工的月薪salary,输出应交的个人所得税tax。
tax = rate * (salary - 850)
当 salary <= 850 时,rate = 0%;
当 850 < salary <= 1350 时,rate = 5%;
当 1350 < salary <=2850 时,rate = 10%;
当 2850 < salary <=5850 时,rate = 15%;
当 5850 < salary 时,rate = 20%;
例:括号内是说明
输入:
5 (repeat = 5)
1010.87
32098.76
800
4010
2850
输出:
tax = 8.04
tax = 6249.75
tax = 0.0
tax = 632.0
tax = 200.0
 */
public class Test17 {
    public static void main(String[] args) {
        int repeat;
        float rate, salary, tax;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入运算次数:");
        repeat = sc.nextInt();
        for (int i = 1; i <= repeat; i++) {
            System.out.println("请输入一个职工的月薪:");
            salary = sc.nextFloat();
            if (salary <= 850) {
                tax = 0;
            } else if (salary > 850 && salary <= 1350) {
                rate = 0.05f;
                tax = rate * (salary - 850);
            } else if (salary > 1350 && salary <= 2850) {
                rate = 0.1f;
                tax = rate * (salary - 850);
            } else if (salary < 2850 && salary <= 5850) {
                rate = 0.15f;
                tax = rate * (salary - 850);
            } else {
                rate = 0.2f;
                tax = rate * (salary - 850);
            }
            System.out.println("tax = " + (int) (tax * 100 + 0.5) / 100.0);
        }
    }

}
package day4;

import java.util.Scanner;

/*
 以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤。
 [1] apples
 [2] pears
 [3] oranges
 [4] grapes
 输入水果的编号,输出该水果的单价。如果输入不正确的编号,显示单价为0。
 例:括号内是说明
 输入:
 1 (repeat = 1)
 3 (oranges的编号)
 输出:
 [3] oranges
 price=4.1
*/
public class Test18 {
    public static void main(String[] args) {
        int repeat, choice;
        float price;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入查询次数:");
        repeat = sc.nextInt();
        for (int i = 1; i <= repeat; i++) {
            System.out.println("请输入查询编号:");
            choice = sc.nextInt();
            switch (choice) {
                case 1:
                    price = 3f;
                    System.out.println("[1] apples" + "\n" + "price = " + price);
                    break;
                case 2:
                    price = 2.5f;
                    System.out.println("[2] pears" + "\n" + "price = " + price);
                    break;
                case 3:
                    price = 4.1f;
                    System.out.println("[3] oranges" + "\n" + "price = " + price);
                    break;
                case 4:
                    price = 10.2f;
                    System.out.println("[4] grapes" + "\n" + "price = " + price);
                    break;
            }
        }
    }

}
package day4;

import java.util.Scanner;

/*
输入一批以问号“?”结束的字符,对“?”之前的每一个字符,
如果它是大写字母,输出相应的小写字母;
如果它是小写字母,输出相应的大写字母;
否则,原样输出。
例:
输入:
F=y?
输出:
f=Y
 */
public class Test19 {
    /*
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个字符:");
        char c = sc.nextLine().charAt(0);
        //String s=sc.nextLine();
        //char c=s.charAt(0);
        while (c != '?') {
            if (c >= 'A' && c <= 'Z')
                c = (char) (c + 32);
            else if (c >= 'a' && c <= 'z')
                c = (char) (c - 32);
            //else
            //    c = c;
            System.out.println(c);
            System.out.println("再输入下一个字符,以‘?’作为结束字符:");
            c = sc.nextLine().charAt(0);
        }
        System.out.println("?");
    }
    */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String s = sc.nextLine();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c != '?') {
                if (c >= 'A' && c <= 'Z')
                    c = (char) (c + 32);
                else if (c >= 'a' && c <= 'z')
                    c = (char) (c - 32);
                //else
                //    c=c;
                sb.append(c);
            } else
                System.out.println(sb);
        }
    }

}
package day4;

import java.util.Scanner;

/*
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
读入一个正整数 n(n<=100),计算并输出1+1/2+1/3+······+1/n。
例:括号内是说明
输入:
2 (repeat=2)
2
10
输出:
1.5
2.9289684
*/
public class Test20 {
    public static void main(String[] args) {
        int repeat, n;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入运算次数:");
        repeat = sc.nextInt();
        for (int i = 1; i <= repeat; i++) {
            System.out.println("请输入运算范围:");
            n = sc.nextInt();
            float sum = 0f;
            for (int j = 1; j <= n; j++) {
                sum += (float) 1 / j;
            }
            System.out.println(sum);
        }
    }

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

完美的BUG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值