01-Java基础语法_编程题答案

Java基础语法编程题

一、初识Java

无答案。
在这里插入图片描述

二、变量、数据类型和运算符

1.使用变量存储以下MP3信息,并打印输出

品牌(brand):爱国者F928
重量(weight):12.4
电池类型(type):内置锂电池
价格(price):499

public class Test01 {
	public static void main(String[] args) {
		String brand = "爱国者F928";
		double weight = 12.8;
		String type = "内置锂电池";
		int price = 499;

		System.out.println("品牌:" + brand);
		System.out.println("重量:" + weight);
		System.out.println("类型:" + type);
		System.out.println("价格:" + price);
	}
}

2.使用Scanner做出如下输出

import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		// 创建Scanner对象
		Scanner input = new Scanner(System.in);

		System.out.print("请输入姓名:");
		input.next();

		System.out.print("请输入年龄:");
		input.nextInt();

		System.out.print("请输入爱好:");
		input.next();
	}
}

3.从控制台输入学员王浩3门课程成绩,编写程序实现

(1)Java课和SQL课的分数之差
(2)3门课的平均分
(3)数学类中有一个绝对值的方法:Math.abs(java-sql);

import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);

		System.out.print("STB的成绩是:");
		int stb = input.nextInt();

		System.out.print("Java的成绩是:");
		int java = input.nextInt();

		System.out.print("SQL的成绩是:");
		int sql = input.nextInt();

		System.out.println("----------------------");
		System.out.println("STB\tJava\tSQL");
		System.out.println(stb + "\t" + java + "\t" + sql);
		System.out.println("----------------------");

		int cha = Math.abs(java - sql);//数学类中求绝对值的方法
		System.out.println("Java和SQL的成绩差:" + cha);

		double avg = (stb + java + sql) / 3.0;
		System.out.println("三门课程的平均成绩是:" + avg);

	}
}

4.实现购物金额

用户可以享受购物8折的优惠,请计算实际消费金额
消费总额 = 各商品的消费金额之和 * 折扣
实现思路:创建类,声明变量存储信息,计算总金额

public class Test01 {
	public static void main(String[] args) {
		double money = 1380;//原价
		money *= 0.8;//打8折
		System.out.println("消费总金额:" + money);
	}
}

5.打印购物小票

结算时打印购物小票
计算此次购物获得的会员积分
首先,分别使用变量存储三件商品的单价、个数和金额

积分 = 消费金额 / 100 * 3 ,对其结果取整

public class Test01 {
	public static void main(String[] args) {
		// 三件商品的单价
		int tShirt = 245;
		int shose = 570;
		int pai = 320;

		// 三件商品的购买数量
		int tPrice = 2;
		int sPrice = 1;
		int pPrice = 1;

		// 三件商品的消费金额
		int tMoney = tShirt * tPrice;
		int sMoney = shose * sPrice;
		int pMoney = pai * pPrice;

		System.out.println("**************消费单**************");
		System.out.println("购买物品" + "\t" + "单价" + "\t" + "数量" + "\t" + "金额");
		System.out.println("T恤" + "\t" + "¥" + tShirt + "\t" + tPrice + "\t¥" + tMoney);
		System.out.println("网球鞋" + "\t" + "¥" + shose + "\t" + sPrice + "\t¥" + sMoney);
		System.out.println("网球拍" + "\t" + "¥" + pai + "\t" + pPrice + "\t¥" + pMoney);
		System.out.println("\n折扣:\t\t8折");
		double zheKou = 0.8;// 商品折扣
		// 消费金额
		double money = (tMoney + sMoney + pMoney) * zheKou;
		// 实交
		int shiJiao = 1500;
		// 找零
		double zhaoLing = shiJiao - money;
		// 计算积分
		double jifen = money / 100 * 3;

		System.out.println("消费总金额\t\t¥" + money);
		System.out.println("实际缴费\t\t¥" + shiJiao);
		System.out.println("找钱\t\t¥" + zhaoLing);
		System.out.println("本次消费所得积分是:" + (int) jifen);
	}
}

6.模拟幸运抽奖(不允许使用选择结构判断结果)

抽奖规则:顾客的四位会员卡号的各位数字之和大于20,则为幸运顾客

import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);

		System.out.println("请输入4位会员卡号:");
		int vip = input.nextInt();

		int ge = vip % 10;
		int shi = vip / 10 % 10;
		int bai = vip / 100 % 10;
		int qian = vip / 1000;

		int sum = ge + shi + bai + qian;
		System.out.println("会员卡号" + vip + "各位之和是:" + sum);
		System.out.println("是幸运客户吗?" + (sum > 20));
	}
}

7.判断折扣价格(不允许使用选择结构判断结果)

A.声明变量存储商品价格信息
B.从键盘接收折扣,并保存
C.计算商品享受折扣后的价格
D.输出商品折扣后价是否低于100

package cn.kgc.test1;

import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);

		System.out.println("请输入折扣:");
		double zhe = input.nextDouble();

		// 定义三个商品的原价
		double tShirt = 299;
		double shose = 1999;
		double pai = 99;

		// 打折完后的价格
		tShirt = tShirt * zhe;// 表达式的展开写法
		shose *= zhe;// 综合写法
		pai *= zhe;// 综合写法

		System.out.println("T恤的折后价低于100吗?" + (tShirt < 100));
		System.out.println("网球鞋的折后价低于100吗?" + (shose < 100));
		System.out.println("网球拍的折后价低于100吗?" + (pai < 100));

	}
}

8.小明左、右手中分别拿两张纸牌:黑桃 10 和红桃 8,现在交换手中的牌。 用程序模拟这一过程:两个整数分别保存在两个变量中,将这两个变量的值互换, 并输出互换后的结果。 (提示:定义第一个第三方的变量完成互换)

方式一:使用第三方变量(开发中使用)

public class Test01 {
	public static void main(String[] args) {
		int a = 10;
		int b = 8;

		System.out.println("输出互换前手中的纸牌:");
		System.out.println("左手中的纸牌:" + a);
		System.out.println("右手中的纸牌:" + b);

        //提示:定义第一个第三方的变量完成互换
		int temp = a;
		a = b;
		b = temp;

		System.out.println("\n输出互换后手中的纸牌:");
		System.out.println("左手中的纸牌:" + a);
		System.out.println("右手中的纸牌:" + b);
	}
}

方式二:用异或实现(面试用)

public class Test01 {
	public static void main(String[] args) {
		int a = 10;
		int b = 8;
		System.out.println("原来是:a=" + a + ",b=" + b);
		// =左边:a、b、a
		// =右边:a ^ b

		a = a ^ b;
		b = a ^ b;
		a = a ^ b;
		System.out.println("交换后:a=" + a + ",b=" + b);
	}
}

方式三:使用变量相加的做法

public class Test01 {
	public static void main(String[] args) {
		int a = 10;
		int b = 8;
		System.out.println("原来是:a=" + a + ",b=" + b);

		a = a + b;
		b = a - b;
		a = a - b;
		System.out.println("交换后:a=" + a + ",b=" + b);
	}
}

方式四:一句话搞定

public class Test01 {
	public static void main(String[] args) {
		int a = 10;
		int b = 8;
		System.out.println("原来是:a=" + a + ",b=" + b);

		b = (a + b) - (a = b);
		System.out.println("交换后:a=" + a + ",b=" + b);
	}
}

9.输入电视机的价格(double)及数量(int),计算这些电视机总价值是多少。

import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);

		System.out.println("请输入电视机的价格:");
		double tvPirce = input.nextDouble();
        
		System.out.println("请输入电视机的数量:");
		int tvNumber = input.nextInt();

		double tvSum = tvPirce * tvNumber;
		System.out.println("这些电视机总价值是:" + tvSum);
	}
}

10.定义一个变量记录天数=10天,计算10天共有多少小时、多少分钟。

public class Test01 {
	public static void main(String[] args) {
		int day = 10;
		int hours = 24;
		int minutes = 60;

		int tempHours, tempMinutes;
		System.out.println("天数\t小时\t分钟");
		tempHours = day * hours;
		tempMinutes = tempHours * minutes;
		System.out.println(day + "\t" + tempHours + "\t" + tempMinutes);
	}
}

11.定义一个变量记录硬盘的大小,如1GB,计算这个硬盘有多少MB、有多少KB、有多少Byte。

public class Test01 {
	public static void main(String[] args) {
		int GB = 1;
		int MB = 1024;
		int KB = 1024;
		int BB = 1024;

		System.out.println("GB     MB       KB          Byte");
		int tempMB, tempKB, tempBB;
		tempMB = GB * MB;
		tempKB = tempMB * KB;
		tempBB = tempKB * BB;
		System.out.println(GB + "     " + tempMB + "    " + tempKB + "     " + tempBB);
	}
}

12.输入一个四位数的整数,要求编程将这个四位数中的个位,十位,百位,千位分别输出。

import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		// 同时声明5个变量
		int number, gewei, shiwei, baiwei, qianwei;

		System.out.println("请输入一个四位数:");
		number = input.nextInt();
        
		gewei = (number % 100) % 10;
		shiwei = (number / 10) % 10;
		baiwei = (number % 1000) / 100;
		qianwei = number / 1000;
		System.out.println("个位:" + gewei + "  十位:" + shiwei + " " + " 百位:" + baiwei + "  千位:" + qianwei);
	}
}

13.小明买了一双鞋,价值58元,买了3件衣服,每件30元,买了5个包,每个包55.8元。小明共交了500元,问还要找回多少元。

public class Test01 {
	public static void main(String[] args) {
		double shoes = 58; // 鞋子的单价
		double clothes = 30; // 衣服的单价
		double bag = 55.8; // 包包的单价
		double sum = 500; // 实交
		double temp = sum - (shoes + (3 * clothes) + (5 * bag));
		System.out.println(temp + "元");
	}
}

14.从控制台任意输入3个数字,将其由小到大输出。(使用变量+if实现)

import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in); // 使用Scanner键盘输入

		System.out.println("请输入3个整数");
		int x = input.nextInt();
		int y = input.nextInt();
		int z = input.nextInt();
		input.close(); // 使用完键盘输入后关闭
        
        int temp = 0;
		if (x > y) {// 如果x>y那么x,y需要交换位置
			temp = x;// 借助temp变量,将二者间的大数x存在temp中
			x = y;// 让小数y到x的位置
			y = temp;// 让大数x(即此时的temp)到y的位置,这时x y中的数就是从小到大的顺序
		}
		if (x > z) {
			temp = x;
			x = z;
			z = temp;
		}
		if (y > z) {
			temp = y;
			y = z;
			z = temp;
		}
		System.out.println(x + " " + y + " " + z);// 输出由小到大排序后的xyz三数
	}
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值