第一章初识Java
1.写出Java领域的相关技术
在计算机软件应用领域中,一种是安装和运行在本机上桌面程序,另一种是通过浏览器访问的面向lnternet的应用程序。
2.简述Java程序中注释的作用及类型
在java中常用的注释有两种:单行注释和多行注释 单行注释使用"//"开头,多行注释以"/*"开头"*/"结尾。
3.写出在MyEclipse中开发一个java程序步骤。
创造一个JAVA项目,创建并编写java源程序,运行java程序。
4java程序的结构
(1):编写程序框架 public class Helloworld{}
(2):编写main方法的框架 public static void main (String[] arge){} //main()方法就是java程序入口 注意一个程序只能有一个main()
(3):编写代码 System.out.println("Helloworld!!!");
第二章变量,数据类型和运算符
3.小明左手,右手中分别拿两张纸牌:黑桃10和红桃8,现在交换手中的牌。用程序模拟这以过程:两个整数分别保存在两个变量中,将这两个变量的值互换,并输出互换后的结果。程序运行结果
public class Lizhaohon {
public static void main(String[] args) {
System.out.println("输出互换前手中的纸牌:");
int leftCard =10; //黑桃10
int rightCard = 8; //红桃8
System.out.print("左手的纸牌:"+leftCard);
System.out.println("右手的纸牌:"+rightCard);
System.out.println("输出互换后手中的纸牌");
int temp = leftCard;
leftCard = rightCard;
rightCard = temp;
System.out.print("左手的纸牌:"+leftCard);
System.out.print("右手的纸牌:"+rightCard);
}
}
4.小明要到美国旅游,可是哪里的温度是以华氏温度为单位记录的。他需要一个程序将华氏温度转换为摄氏温度,并以华氏温度和摄氏温度为单位分别显示该温度。编写程序实现此功能。要求:可以从控制台输入温度信息。
import java.util.Scanner;
public class Lizhaohon{
public static void main(String[] args){
System.out.println("请输入华氏温度:");
Scanner input = new Scanner(System.in); //控制台
double f =input.nextDouble(); //输入华氏温度 f=华氏温度
double s =5/9.0*(f-32); // s 表示第三个变量名
int z = (int) s ; //s浮点型强行转换z整型 z 表示摄氏温度
System.out.println("华氏温度:"+f+"摄氏温度:"+z);
}
}
5.银行提供了整存整取定期存蓄业务,其存期分为一年,两年,三年,五年,到期凭存单支取本息。
import java.util.Scanner;
public class Lizhaohon{
public static void main(String[] args){
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入本金:");
double bj = input.nextInt(); //bj=本金
double diyi =bj*0.0225*1+bj; //本金*第一年年利率2.25*1年存期+本金
double dier =bj*0.027*2+bj; //本金*第一年年利率2.7*2年存期+本金
double disan =bj*0.0324*3+bj; //本金*第一年年利率3.24*3年存期+本金
double diwu =bj*0.036*5+bj; //本金*第一年年利率3.6*5年存期+本金
System.out.println("本金为:"+bj);
System.out.println("存取一年后的本息是:"+diyi);
System.out.println("存款两年后的本息是:"+dier);
System.out.println("存款三年后的本息是:"+disan);
System.out.println("存款五年后的本息是:"+diwu);
}
}
第三章选择结构
1.画出流程图并编程实现:如果用户名等于字符‘青’,并且密码等于数字123,则出入“欢迎你,青”;否则输出“对不起,你不是青”。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入用户名:");
String mz = input.next(); //mz =名字
System.out.println("请输入密码:");
int mm = input.nextInt(); //mm=密码
if (mz.equals("青") && mm == 123) { //用if判断用户名是不是‘青’或者密码是否正确
System.out.println("欢迎你,青!");
} else {
System.out.println("对不起,你不是青");
}
}
}
2.画出流程图并编程实现:如果年龄满7岁,或者年龄满5岁并且性别是‘男’,就可以搬动桌子。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输年龄:");
int nl = input.nextInt(); //输入年龄 nl=年龄
System.out.println("请输入你的性别:");
String xb = input.next(); //输入性别 xb=性别
if (nl >= 7 || nl >= 5 && xb.equals("男")) { //用if判断年龄大于等于7 并且年龄大于等于5或者性别是男
System.out.println("可以搬动桌子");
} else {
System.out.println("不可以搬动桌子");
}
}
}
3.画出流程图并编程实现:从键盘上输入三个整数,分别赋给整数变量a,b,c,然后将输入的整数按照从小到大的顺序放在变量a,b,c,中,并输出三个变量的值。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
int temp = 0; //设置第4个整数
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入3个整数");
int a = input.nextInt(); //输入a的整数
int b = input.nextInt(); //输入b的整数
int c = input.nextInt(); //输入c的整数
if (a > b) { //用if判断
temp = a; //输入a的值给第4个值
a = b; //输入b的值给a
b = temp; //第四个值给b
}
if (a > c) { //用if判断
temp = a; //a的值给第4个值
a = c; //c的值给a的值
c = temp;//第四个值给c
}
if (b > c) { //用if判断
temp = b; //b的值给第四个
b = c; //c的值给b
c = temp; //第四个值给c
}
System.out.println("a的值:" + a + "b的值:" + b + "c的值:" + c);
}
} 4.画出流程图并编程实现:从键盘上输入一个整数,判断是否被3或5整除。如果能,则输出“该整数是3或5的倍数.”;否则输出“该数不能被3或5中的任何一个数整除”。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) {
int temp = 0;
Scanner s = new Scanner(System.in); //控制台输入
System.out.println("输入一个数:");
int a = s.nextInt(); //a来接收输入的数
if ((a % 3 == 0) || (a % 5 == 0)) { //用if结构判断a是否被3或者5整除
System.out.println("该整数是3或5的倍数");
} else
System.out.println("该数不能被3或5中的任何一个数整除");
}
} 5.画出流程图并编程实现:
刘珊珊同学参加了java课程的学习,她父亲和母亲承诺如下。
如果考试成绩==100分,父亲给她买一辆车。
如果考试成绩>=90分,母亲给她买一辆笔记本电脑。
如果考试成绩>=60分,母亲给她买一部手机。
如果考试成绩<60分,没有礼物。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入一个整数:");
int nl = input.nextInt(); //输入成绩 nl=成绩
if (nl == 100) { //if结构判断成绩是否等于100
System.out.println("父亲给她卖一辆汽车");
} else if (nl >= 90) { //if结构判断成绩是否大于等于90
System.out.println("母亲给他买一部笔记本电脑");
} else if (nl >= 60) { //if结构判断成绩是否大于等于60
System.out.println("母亲给她买一部手机");
} else if (nl < 60) { //if结构判断成绩是否小于60
System.out.println("没有礼物");
}
}
} 6.画出流程图并编程实现:某人准备去海南旅游,现在要订购机票。机票的价格受季节旺季,淡季的影响,头等舱和经济舱价格也不同假设机票原价为5000元,4~10月为旺季,旺季头等舱打九折,经济舱打八折;淡季头等舱打五折,经济舱打四折。编写程序,使用if选择结构,根据出行月份和选择的舱位输出实际的机票价格。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
int prime = 5000; //于值本金 prime=本金
Scanner input = new Scanner(System.in); //从控制台输出
System.out.println("请输入您出行的月份:");
int youfen = input.nextInt(); //输入月份 youfen=月份
System.out.println("请问您选择头等舱还是经济惨?头等舱输入1经济舱2:");
int oneorTwo = input.nextInt(); //选择输入头等舱还是经济舱
if (youfen > 0 && youfen < 13) { //判断淡季
if (youfen > 3 && youfen < 11) { //判断旺季
System.out.println("该月车票价格:头等舱" + prime * 0.9 + "元" + "经济舱" + prime * 0.8);
} else
System.out.println("该月车票价格如下:头等舱" + prime * 0.5 + "元" + "经济舱" + prime * 0.4);
} else
System.out.println("请输入正确的月份");
}
}
第四章选择结构(二)
2.使用switch结构:为小明制定学习计划,星期一,星期三,星期五学习编程,星期二,星期四,星期六学习英语,星期日休息。
package com.bdqn.demo;
import java.util.Scanner;
public class OrderingMgr {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入星期几:");
int xinqi =input.nextInt(); //输入星期几
switch (xinqi) {
case 1:
case 3:
case 5:
System.out.println("学习编程");
break;
case 2:
case 4:
case 6:
System.out.println("学习英语");
break;
default:
System.out.println("休息");
break;
}
}
}
3.使用switch选择结构完成本书第三章作业简答题第5题的要求,实现父母对刘珊珊的承诺。
Scanner input = new Scanner(System.in); //从控制台输入
System.out.println("请输入刘珊珊的考试成绩:");
int chengji =input.nextInt(); //输入成绩
switch (chengji/10) { //考试成绩/10
case 10:
System.out.println("父亲给她买一辆车");
break;
case 9:
System.out.println("母亲给她买一部笔记本电脑");
break;
case 6:
System.out.println("母亲给她买一部手机");
break;
default: //输入成绩小于60分则没有奖励
System.out.println("没有礼物");
break; 4.使用switch选择结构完成本书第三章作业简答题第6题要求,根据月份和选择的舱位输出实际的票价价格。
Scanner input = new Scanner(System.in); //控制台输入
int benjin=5000; //本金=5000
System.out.println("请输入您出行月份:1~12");
int yuefen = input.nextInt(); //控制台输入月份
System.out.println("请输入您选择头等舱还是经济舱?头等舱输入1头等舱输入2");
double cang =input.nextDouble(); //控制台选择输入1或2
switch (yuefen*10) { //输入的月份乘以10
case 40:
case 50:
case 60:
case 70:
case 80:
case 90:
case 100:
if (cang==1) { // 旺季头等舱
double jiage =benjin*0.9; //本金乘0.9等于票价
System.out.println("您的机票价格为:"+jiage);
}else if (cang==2) { // 旺季经济舱
double jiage=benjin*0.8; //本金乘0.8等于票价
System.out.println("您的机票价格为:"+jiage);
}
break;
case 10:
case 20:
case 30:
case 110:
case 120:
if (cang==1) { //淡季头等舱
double jiage=benjin*0.5; //本金乘0.5等于淡季头等舱价格
System.out.println("您的机票价格为:"+jiage);
}else {
if (cang==2) { //淡季经济舱
double jiage=benjin*0.4; //本金乘0.4等于淡季经济舱价格
System.out.println("您的机票价格为:"+jiage);
}
}
break;
default:
System.out.println("请输入正确数字");
break; 5.编程实现迷你计算器功能,支持"+" "-" "*" "/",从控制台输入两个操作数,输出运算结果。
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入第一个操作数:");
double num1 = input.nextDouble(); //输入第一个数
System.out.println("请输入第二个操作数:");
if (input.hasNextDouble() == true) { //判断输入的数是否是正确
double num2 = input.nextDouble(); //输入第二个数
System.out.println("请输入:1加法,2减法,3乘法,4除法");
int c = input.nextInt(); //输入1加法,2减法,3乘法,4除法
switch (c) {
case 1:
System.out.println("计算结果:" + (num1 + num2));
break;
case 2:
System.out.println("计算结果:" + (num1 - num2));
break;
case 3:
System.out.println("计算结果:" + (num1 * num2));
break;
case 4:
System.out.println("计算结果:" + (num1 / num2));
break;
default:
System.out.println("无此选项!");
break;
}
} else {
System.out.println("请输入正确数字!");
} 第五章循环结构(一)
2.使用while循环结构输出:100,95,90,85,...,5。
package com.bdqn.demo2;
public class Diwuzhang {
public static void main(String[] args) {
int a = 100; //整数a等于100
while (a > 0) { //while判断a大于0
System.out.println("输出:" + a);
a -= 5; //循环a自减5
}
}
} 3.使用do-while循环结构实现:计算1~50中是7的倍数的数值之和并输出。
使用"%"运算符判断7的倍数。
package com.bdqn.demo2;
public class Diwuzhang1 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
do {
if (i % 7 == 0) {
sum += i;
}
i++;
} while (i < 50);
System.out.println(sum);
}
}
4.从键盘上接受一批整数,比较并输入其中的最大值和最小值,输入数字0是结束循环。
package com.bdqn.demo2;
import java.util.Scanner;
public class Diwuzhang2 {
public static void main(String[] args) {
int max = 0; // 最大值
int min = 0; // 最小值
int num = 0; //设置第三个值
Scanner input = new Scanner(System.in); //控制台输入整数
do {
System.out.println("请输入一个整数(输入0结束)");
int number = input.nextInt();
if (num == 0) {
max = number;
min = number;
num++;
}
if (number == 0) {
break;
}
if (number > max) {
max = number;
}
if (number < min) {
min = number;
}
} while (true);
System.out.println("最大值:" + max + "最小值" + min);
}
}
5.从键盘上输入一位整数,当输入1~7时,显示下面对应的英文星期名称的缩写。
1:MON 2:TUE 3:WED 4:THU 5:FRI 6:SAT 7:SUM
package com.bdqn.demo2;
import java.util.Scanner;
public class Diwuzhang3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入数字1-7(输入0结束):");
int num =input.nextInt();
switch (num) {
case 1:
System.out.println("今天是 MON");
break;
case 2:
System.out.println("今天是 TUE");
break;
case 3:
System.out.println("今天是 WED");
break;
case 4:
System.out.println("今天是 THU");
break;
case 5:
System.out.println("今天是 FRI");
break;
case 6:
System.out.println("今天是 SAT");
break;
case 7:
System.out.println("今天是 SUN");
break;
default:
System.out.println("请输入正确数字!");
break;
}
}
}
第六章循环结构(二)
2.使用for循环结构实现:从键盘上接受从周一至周五每天的学习时间(以小时为单位),并计算每日平均学习时间。
package com.bdqn.demo2;
import java.util.Scanner;
public class Diliuzhang {
public static void main(String[] args) {
int xiaoshi; //小时
int sum = 0; //时间之和
double avg = 0.0; //平均时间
Scanner input=new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("请输入周"+(i+1)+"的学习时间");
xiaoshi =input.nextInt();
sum +=xiaoshi; //计算学习时间之和
}
avg = (double)sum/5;
System.out.println("周一至周五每日平均学习时间是:"+avg);
}
}
3.鸡兔同笼是我国古代著名的趣题之一。大约在1500年前,《孙子兵法》中记载了这样一道题目:今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几只?试编写程序解决这个问题。
package com.bdqn.demo2;
public class Diliuzhang1 {
public static void main(String[] args) {
int chookNum = 0; // 鸡
int rabbitNum = 0; // 兔子
for (int i = 0; i <= 35; i++) {
chookNum = i;
rabbitNum = 35 - i;
if (chookNum * 2 + rabbitNum * 4 == 94) {
System.out.println(chookNum + "\t" + rabbitNum);
}
}
}
}
4.开发一个标题为"FlipFlop"的游戏应用程序。它从1计数到100,遇到3的倍数就输出单词"Flip",遇到5的倍数就输出单词"Flop",遇到即为3的倍数又为5的倍数则输出单词"FlipFlop",其余情况下输出当前数字。
package com.bdqn.demo2;
public class Diliuzhang2 {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if (i % 3 == 0 && i % 5 == 0) {
System.out.println("FlipFlop");
continue;
} else {
if (i % 3 == 0) {
System.err.println("Flip");
continue;
} else {
if (i % 5 == 0) {
System.out.println("Flop");
continue;
} else {
System.out.println(i);
}
}
}
}
}
}
5.在马克思手稿中有一道趣味题的数学问题:一共有30个人,可能包括男人,女人和小孩。他们在一家饭馆吃饭共花了50先令,其中每个男人花了3先令,每个女人花2先令,每个小孩花1先令。请问男人,女人和小孩各几人?
package com.bdqn.demo2;
public class diliuzhang3 {
public static void main(String[] args) {
int men; //男人
int wome; //女人
int kids; //小孩
for (men = 0; men <= 10; men++) {
for (wome = 0; wome <= 30; wome++) {
for (kids = 0; kids <= 30; kids++) {
if (men + wome + kids == 30 && 3 * men + 2 * wome + kids == 50) {
System.out.println("男人" + men + "女人" + wome + "小孩" + kids);
}
}
}
}
}
第七章数组
2.首先依次输入五句话,然后将它逆序输出。
package com.bdqn.demo;
public class Demo6 {
// 在java中, 数组可以存储, 一组连续的, 数据类型相同的, 元素
public static void main(String[] args) {
System.out.println("请输入5句话");
String [] shuju = new String [] {"在java中","数组可以存储"," 一组连续的","数据类型相同的","元素"};
for (int i = 0; i < shuju.length; i++) {
System.out.println("第"+(i+1)+"句话:"+shuju[i]);
}
System.out.println("逆序输出5句话:");
for (int i=shuju.length-1; i>=0; i--) {
System.out.println(shuju[i]);
}
}
}
3.某百货商场当日消费积分最高的八名顾客,他们的积分分别是18,28,7,36,13,2,89,63。编写程序找出最低的积分及它在数组中的原始位置(下标)。
package com.bdqn.dierzhangjie; public class Demo { //第3题
public static void main(String[] args) {
int points[] = new int[] {18,25,7,36,13,2,89,63}; //存储八名顾客积分
int min = 0; //存储最低积分
int index = points.length; //存储最低积分下标
min = points[0]; //设置最低积分下标为0
for (int i = 0; i < points.length; i++) {
if(min>points[i]) {
min = points[i];
index = i;
}
}
System.out.println("最低的积分为:"+min);
System.out.println("最低的积分的下标为:"+index);
}
}
4.从键盘上输入10个整数,合法值为1,2或3,不是这三个数则为非法数字。试编程序统计每个整数和非法数字的个数。
package com.bdqn.demo;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
int [] nums = new int [10]; //创建数组长度为10,存储用户输入数字
int [] count = new int [4]; //创建数组长度为4,存储三个合法数字和非数字的个数
Scanner input = new Scanner(System.in); //控制台输入数字
System.out.println("请输入10个数");
for (int i = 0; i < nums.length; i++) {
nums[i]=input.nextInt();
switch ( nums[i] ) { //判断数字的值
case 1:
count[0]++;
break;
case 2:
count[1]++;
break;
case 3:
count[2]++;
break; default:
count[3]++;
break;
}
}
System.out.println("数字1的个数:"+count[0]);
System.out.println("数字2的个数:"+count[1]);
System.out.println("数字3的个数:"+count[2]);
System.out.println("非法数字的个数:"+count[3]);
}
} 5.假设有一个长度为5的数组,如下所示。
int [] array = new int [] {1,3,-1,5,-2};
现创建一个新数组 newArray[],要求新数组元素的存放顺序与原数组中的元素逆序,并且如果原数组中的元素值小于0,在新数组中按0存储。
package com.bdqn.demo;
public class Demo8 { //第5题
public static void main(String[] args) {
int[] array = new int[] { 1, 3, -1, 5, -2 };
int[] newArray = new int[5];
System.out.println("原数组为:");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.print("逆序并处理后的数组为:");
for (int i = array.length - 1; i >= 0; i++) {
continue;
}
}
}
6.有一组英文歌曲,按照歌曲名称的字母顺序从"A"到"Z"顺序排列,保存在一个数组中。现在增加一首新歌,将它插入数组,并保持歌曲名称升序排列。
package com.bdqn.demo;
import java.util.Arrays;
import java.util.Scanner;
public class Demo9 { //第6题
public static void main(String[] args) {
String [] musics = new String [] {"Island","Ocen","Pretty","Sun"}; //创建插入前的数组
String [] music1 =Arrays.copyOf(musics,5); //插入后的数组
int index =music1.length;
System.out.println("插入前的数组为:");
for (int i = 0; i < musics.length; i++) {
System.out.print(musics[i]+" ");
}
Scanner input = new Scanner(System.in);
System.out.println("\n请输入歌曲名称:"); //输入歌曲名 :Ready
String m = input.next();
for (int i = 0; i < musics.length; i++) {
if (musics[i]pareToIgnoreCase(m)>0) {
index = i;
break;
}
}
for (int i = music1.length - 1;i>index;i--) {
music1[index] = m;
}
System.out.println("\n插入后的数组为:");
for (int i = 0; i < music1.length; i++) {
System.out.print(music1[i]+" ");
}
}
}
第八章循环结构进阶
2.编写程序,打印如下图案,要求该图案的行数由用户输入。
package com.bdqn.demo;
import java.util.Scanner;
public class Demo14 {
public static void main(String[] args) {
int rowe = 0;
System.out.println("请输入行数:");
Scanner input = new Scanner(System.in);
rowe = input.nextInt();
for (int i = 1; i <= rowe; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + " ");
}
System.out.print("\n");
}
}
}
3.我国古代数学家张邱建在《算经》中出一道"百钱买百鸡"的问题,题意是这样的:5文钱可以买1只公鸡,3文钱可以买一只母鸡,一文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么公鸡,母鸡,雏鸡各有多少只?
package com.bdqn.demo;
public class Demo15 {
public static void main(String[] args) {
for (int i = 0; i < 20; i++) { //i整数等于公鸡
for (int j = 0; j < 33; j++) { //j整数等于母鸡
for (int k = 0; k < 100; k++) { //k整数等于雏鸡
if ((5 * i + 3 * j + k / 3 == 100) && (i + j + k == 100)) {
System.out.println("公鸡" + i + "母鸡" + j + "雏鸡" + k);
}
}
}
}
4.有三个班级各四名学员参赛,从控制台输入每个班级参赛学员的成绩,要求统计出三个班级所以参赛学员中成绩大于85分的学员的平均分。
package com.bdqn.demo;
import java.util.Scanner;
public class Demo16 {
public static void main(String[] args) {
int[] score = new int[4]; // 成绩数组
int classnum = 3; // 班级数量
double sum = 0.0; // 成绩总和
double[] sumArray = new double[classnum]; // 平均成绩数组
Scanner input = new Scanner(System.in); //控制台输入
for (int i = 0; i < classnum; i++) {
sum = 0.0;
System.out.println("请输入第" + (i + 1) + "个班级的成绩");
for (int j = 0; j < score.length; j++) {
System.out.println("第" + (j + 1) + "个学员的成绩:");
score[j] = input.nextInt();
sum += score[j];
}
sumArray[i] = sum / score.length;
System.out.println("三个班级所以参赛学员中成绩大于85分的学员的平均分:" + sumArray[i] + "\n");
}
}
}
5.假设一个简单的在ATM上取款的过程如下:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户"密码错误,请去卡",结束交易。如果用户密码正确,在提示用户输入金额(amount),ATM只能输出100元的纸币,一次取钱数要求最低0元,最高1000元。如果用户输入金额符合上述要求,则打印输出用户取的钱数,最后提示用户"交易完成,请取卡!",否则提示用户重新输入金额。假设用户密码是111111,
package com.bdqn.demo;
import java.util.Scanner; public class Demo18 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num = 0;
for (int i = 0; i < 3; i++) {
System.out.print("请输入密码:");
int password = input.nextInt();
if (password == 111111) {
break;
} else {
num++;
continue;
}
}
if (num == 3) {
System.out.println("输入次数超过三次,请取卡!");
}
if (num < 3) {
System.out.print("请输入金额:");
int money = input.nextInt();
while (money % 100 != 0 || money < 0 || money > 1000) {
System.out.print("输入金额不合法,请重新输入:");
money = input.nextInt();
}
System.out.println("您取了" + money + "元");
System.out.println("交易完成,请取卡!");
}
}
}
6.输入行数,打印菱形,要求如下:
从控制台输入菱形的高度(行数)。如果用户输入的行数合法(奇数),则打印出菱形,否则提示用户输入奇数。
package com.bdqn.demo;
import java.util.Scanner;
public class Demo17 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入菱形的行数(奇数):");
int row = input.nextInt();
while (row % 2 == 0) {
System.out.print("输入错误,请输入奇数:");
row = input.nextInt();
}
int row1 = (row + 1) / 2;
for (int i = 1; i <= row1; i++) {
int row2 = row1 - i;
int row3 = 2 * i - 1;
for (int j = 0; j < row2; j++) {
System.out.print(" ");
}
for (int j = 0; j < row3; j++) {
System.out.print("*");
}
System.out.println("");
}
int row4 = (row - 1) / 2;
for (int i = 1; i <= row4; i++) {
int row5 = (row - 2 * i);
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
for (int j = row5; j > 0; j--) {
System.out.print("*");
}
System.out.println("");
}
}
}
在计算机软件应用领域中,一种是安装和运行在本机上桌面程序,另一种是通过浏览器访问的面向lnternet的应用程序。
2.简述Java程序中注释的作用及类型
在java中常用的注释有两种:单行注释和多行注释 单行注释使用"//"开头,多行注释以"/*"开头"*/"结尾。
3.写出在MyEclipse中开发一个java程序步骤。
创造一个JAVA项目,创建并编写java源程序,运行java程序。
4java程序的结构
(1):编写程序框架 public class Helloworld{}
(2):编写main方法的框架 public static void main (String[] arge){} //main()方法就是java程序入口 注意一个程序只能有一个main()
(3):编写代码 System.out.println("Helloworld!!!");
第二章变量,数据类型和运算符
3.小明左手,右手中分别拿两张纸牌:黑桃10和红桃8,现在交换手中的牌。用程序模拟这以过程:两个整数分别保存在两个变量中,将这两个变量的值互换,并输出互换后的结果。程序运行结果
public class Lizhaohon {
public static void main(String[] args) {
System.out.println("输出互换前手中的纸牌:");
int leftCard =10; //黑桃10
int rightCard = 8; //红桃8
System.out.print("左手的纸牌:"+leftCard);
System.out.println("右手的纸牌:"+rightCard);
System.out.println("输出互换后手中的纸牌");
int temp = leftCard;
leftCard = rightCard;
rightCard = temp;
System.out.print("左手的纸牌:"+leftCard);
System.out.print("右手的纸牌:"+rightCard);
}
}
4.小明要到美国旅游,可是哪里的温度是以华氏温度为单位记录的。他需要一个程序将华氏温度转换为摄氏温度,并以华氏温度和摄氏温度为单位分别显示该温度。编写程序实现此功能。要求:可以从控制台输入温度信息。
import java.util.Scanner;
public class Lizhaohon{
public static void main(String[] args){
System.out.println("请输入华氏温度:");
Scanner input = new Scanner(System.in); //控制台
double f =input.nextDouble(); //输入华氏温度 f=华氏温度
double s =5/9.0*(f-32); // s 表示第三个变量名
int z = (int) s ; //s浮点型强行转换z整型 z 表示摄氏温度
System.out.println("华氏温度:"+f+"摄氏温度:"+z);
}
}
5.银行提供了整存整取定期存蓄业务,其存期分为一年,两年,三年,五年,到期凭存单支取本息。
import java.util.Scanner;
public class Lizhaohon{
public static void main(String[] args){
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入本金:");
double bj = input.nextInt(); //bj=本金
double diyi =bj*0.0225*1+bj; //本金*第一年年利率2.25*1年存期+本金
double dier =bj*0.027*2+bj; //本金*第一年年利率2.7*2年存期+本金
double disan =bj*0.0324*3+bj; //本金*第一年年利率3.24*3年存期+本金
double diwu =bj*0.036*5+bj; //本金*第一年年利率3.6*5年存期+本金
System.out.println("本金为:"+bj);
System.out.println("存取一年后的本息是:"+diyi);
System.out.println("存款两年后的本息是:"+dier);
System.out.println("存款三年后的本息是:"+disan);
System.out.println("存款五年后的本息是:"+diwu);
}
}
第三章选择结构
1.画出流程图并编程实现:如果用户名等于字符‘青’,并且密码等于数字123,则出入“欢迎你,青”;否则输出“对不起,你不是青”。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入用户名:");
String mz = input.next(); //mz =名字
System.out.println("请输入密码:");
int mm = input.nextInt(); //mm=密码
if (mz.equals("青") && mm == 123) { //用if判断用户名是不是‘青’或者密码是否正确
System.out.println("欢迎你,青!");
} else {
System.out.println("对不起,你不是青");
}
}
}
2.画出流程图并编程实现:如果年龄满7岁,或者年龄满5岁并且性别是‘男’,就可以搬动桌子。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输年龄:");
int nl = input.nextInt(); //输入年龄 nl=年龄
System.out.println("请输入你的性别:");
String xb = input.next(); //输入性别 xb=性别
if (nl >= 7 || nl >= 5 && xb.equals("男")) { //用if判断年龄大于等于7 并且年龄大于等于5或者性别是男
System.out.println("可以搬动桌子");
} else {
System.out.println("不可以搬动桌子");
}
}
}
3.画出流程图并编程实现:从键盘上输入三个整数,分别赋给整数变量a,b,c,然后将输入的整数按照从小到大的顺序放在变量a,b,c,中,并输出三个变量的值。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo4 {
public static void main(String[] args) {
int temp = 0; //设置第4个整数
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入3个整数");
int a = input.nextInt(); //输入a的整数
int b = input.nextInt(); //输入b的整数
int c = input.nextInt(); //输入c的整数
if (a > b) { //用if判断
temp = a; //输入a的值给第4个值
a = b; //输入b的值给a
b = temp; //第四个值给b
}
if (a > c) { //用if判断
temp = a; //a的值给第4个值
a = c; //c的值给a的值
c = temp;//第四个值给c
}
if (b > c) { //用if判断
temp = b; //b的值给第四个
b = c; //c的值给b
c = temp; //第四个值给c
}
System.out.println("a的值:" + a + "b的值:" + b + "c的值:" + c);
}
} 4.画出流程图并编程实现:从键盘上输入一个整数,判断是否被3或5整除。如果能,则输出“该整数是3或5的倍数.”;否则输出“该数不能被3或5中的任何一个数整除”。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) {
int temp = 0;
Scanner s = new Scanner(System.in); //控制台输入
System.out.println("输入一个数:");
int a = s.nextInt(); //a来接收输入的数
if ((a % 3 == 0) || (a % 5 == 0)) { //用if结构判断a是否被3或者5整除
System.out.println("该整数是3或5的倍数");
} else
System.out.println("该数不能被3或5中的任何一个数整除");
}
} 5.画出流程图并编程实现:
刘珊珊同学参加了java课程的学习,她父亲和母亲承诺如下。
如果考试成绩==100分,父亲给她买一辆车。
如果考试成绩>=90分,母亲给她买一辆笔记本电脑。
如果考试成绩>=60分,母亲给她买一部手机。
如果考试成绩<60分,没有礼物。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入一个整数:");
int nl = input.nextInt(); //输入成绩 nl=成绩
if (nl == 100) { //if结构判断成绩是否等于100
System.out.println("父亲给她卖一辆汽车");
} else if (nl >= 90) { //if结构判断成绩是否大于等于90
System.out.println("母亲给他买一部笔记本电脑");
} else if (nl >= 60) { //if结构判断成绩是否大于等于60
System.out.println("母亲给她买一部手机");
} else if (nl < 60) { //if结构判断成绩是否小于60
System.out.println("没有礼物");
}
}
} 6.画出流程图并编程实现:某人准备去海南旅游,现在要订购机票。机票的价格受季节旺季,淡季的影响,头等舱和经济舱价格也不同假设机票原价为5000元,4~10月为旺季,旺季头等舱打九折,经济舱打八折;淡季头等舱打五折,经济舱打四折。编写程序,使用if选择结构,根据出行月份和选择的舱位输出实际的机票价格。
package com.bdqn.doum;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
int prime = 5000; //于值本金 prime=本金
Scanner input = new Scanner(System.in); //从控制台输出
System.out.println("请输入您出行的月份:");
int youfen = input.nextInt(); //输入月份 youfen=月份
System.out.println("请问您选择头等舱还是经济惨?头等舱输入1经济舱2:");
int oneorTwo = input.nextInt(); //选择输入头等舱还是经济舱
if (youfen > 0 && youfen < 13) { //判断淡季
if (youfen > 3 && youfen < 11) { //判断旺季
System.out.println("该月车票价格:头等舱" + prime * 0.9 + "元" + "经济舱" + prime * 0.8);
} else
System.out.println("该月车票价格如下:头等舱" + prime * 0.5 + "元" + "经济舱" + prime * 0.4);
} else
System.out.println("请输入正确的月份");
}
}
第四章选择结构(二)
2.使用switch结构:为小明制定学习计划,星期一,星期三,星期五学习编程,星期二,星期四,星期六学习英语,星期日休息。
package com.bdqn.demo;
import java.util.Scanner;
public class OrderingMgr {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入星期几:");
int xinqi =input.nextInt(); //输入星期几
switch (xinqi) {
case 1:
case 3:
case 5:
System.out.println("学习编程");
break;
case 2:
case 4:
case 6:
System.out.println("学习英语");
break;
default:
System.out.println("休息");
break;
}
}
}
3.使用switch选择结构完成本书第三章作业简答题第5题的要求,实现父母对刘珊珊的承诺。
Scanner input = new Scanner(System.in); //从控制台输入
System.out.println("请输入刘珊珊的考试成绩:");
int chengji =input.nextInt(); //输入成绩
switch (chengji/10) { //考试成绩/10
case 10:
System.out.println("父亲给她买一辆车");
break;
case 9:
System.out.println("母亲给她买一部笔记本电脑");
break;
case 6:
System.out.println("母亲给她买一部手机");
break;
default: //输入成绩小于60分则没有奖励
System.out.println("没有礼物");
break; 4.使用switch选择结构完成本书第三章作业简答题第6题要求,根据月份和选择的舱位输出实际的票价价格。
Scanner input = new Scanner(System.in); //控制台输入
int benjin=5000; //本金=5000
System.out.println("请输入您出行月份:1~12");
int yuefen = input.nextInt(); //控制台输入月份
System.out.println("请输入您选择头等舱还是经济舱?头等舱输入1头等舱输入2");
double cang =input.nextDouble(); //控制台选择输入1或2
switch (yuefen*10) { //输入的月份乘以10
case 40:
case 50:
case 60:
case 70:
case 80:
case 90:
case 100:
if (cang==1) { // 旺季头等舱
double jiage =benjin*0.9; //本金乘0.9等于票价
System.out.println("您的机票价格为:"+jiage);
}else if (cang==2) { // 旺季经济舱
double jiage=benjin*0.8; //本金乘0.8等于票价
System.out.println("您的机票价格为:"+jiage);
}
break;
case 10:
case 20:
case 30:
case 110:
case 120:
if (cang==1) { //淡季头等舱
double jiage=benjin*0.5; //本金乘0.5等于淡季头等舱价格
System.out.println("您的机票价格为:"+jiage);
}else {
if (cang==2) { //淡季经济舱
double jiage=benjin*0.4; //本金乘0.4等于淡季经济舱价格
System.out.println("您的机票价格为:"+jiage);
}
}
break;
default:
System.out.println("请输入正确数字");
break; 5.编程实现迷你计算器功能,支持"+" "-" "*" "/",从控制台输入两个操作数,输出运算结果。
Scanner input = new Scanner(System.in); //控制台输入
System.out.println("请输入第一个操作数:");
double num1 = input.nextDouble(); //输入第一个数
System.out.println("请输入第二个操作数:");
if (input.hasNextDouble() == true) { //判断输入的数是否是正确
double num2 = input.nextDouble(); //输入第二个数
System.out.println("请输入:1加法,2减法,3乘法,4除法");
int c = input.nextInt(); //输入1加法,2减法,3乘法,4除法
switch (c) {
case 1:
System.out.println("计算结果:" + (num1 + num2));
break;
case 2:
System.out.println("计算结果:" + (num1 - num2));
break;
case 3:
System.out.println("计算结果:" + (num1 * num2));
break;
case 4:
System.out.println("计算结果:" + (num1 / num2));
break;
default:
System.out.println("无此选项!");
break;
}
} else {
System.out.println("请输入正确数字!");
} 第五章循环结构(一)
2.使用while循环结构输出:100,95,90,85,...,5。
package com.bdqn.demo2;
public class Diwuzhang {
public static void main(String[] args) {
int a = 100; //整数a等于100
while (a > 0) { //while判断a大于0
System.out.println("输出:" + a);
a -= 5; //循环a自减5
}
}
} 3.使用do-while循环结构实现:计算1~50中是7的倍数的数值之和并输出。
使用"%"运算符判断7的倍数。
package com.bdqn.demo2;
public class Diwuzhang1 {
public static void main(String[] args) {
int sum = 0;
int i = 1;
do {
if (i % 7 == 0) {
sum += i;
}
i++;
} while (i < 50);
System.out.println(sum);
}
}
4.从键盘上接受一批整数,比较并输入其中的最大值和最小值,输入数字0是结束循环。
package com.bdqn.demo2;
import java.util.Scanner;
public class Diwuzhang2 {
public static void main(String[] args) {
int max = 0; // 最大值
int min = 0; // 最小值
int num = 0; //设置第三个值
Scanner input = new Scanner(System.in); //控制台输入整数
do {
System.out.println("请输入一个整数(输入0结束)");
int number = input.nextInt();
if (num == 0) {
max = number;
min = number;
num++;
}
if (number == 0) {
break;
}
if (number > max) {
max = number;
}
if (number < min) {
min = number;
}
} while (true);
System.out.println("最大值:" + max + "最小值" + min);
}
}
5.从键盘上输入一位整数,当输入1~7时,显示下面对应的英文星期名称的缩写。
1:MON 2:TUE 3:WED 4:THU 5:FRI 6:SAT 7:SUM
package com.bdqn.demo2;
import java.util.Scanner;
public class Diwuzhang3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入数字1-7(输入0结束):");
int num =input.nextInt();
switch (num) {
case 1:
System.out.println("今天是 MON");
break;
case 2:
System.out.println("今天是 TUE");
break;
case 3:
System.out.println("今天是 WED");
break;
case 4:
System.out.println("今天是 THU");
break;
case 5:
System.out.println("今天是 FRI");
break;
case 6:
System.out.println("今天是 SAT");
break;
case 7:
System.out.println("今天是 SUN");
break;
default:
System.out.println("请输入正确数字!");
break;
}
}
}
第六章循环结构(二)
2.使用for循环结构实现:从键盘上接受从周一至周五每天的学习时间(以小时为单位),并计算每日平均学习时间。
package com.bdqn.demo2;
import java.util.Scanner;
public class Diliuzhang {
public static void main(String[] args) {
int xiaoshi; //小时
int sum = 0; //时间之和
double avg = 0.0; //平均时间
Scanner input=new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("请输入周"+(i+1)+"的学习时间");
xiaoshi =input.nextInt();
sum +=xiaoshi; //计算学习时间之和
}
avg = (double)sum/5;
System.out.println("周一至周五每日平均学习时间是:"+avg);
}
}
3.鸡兔同笼是我国古代著名的趣题之一。大约在1500年前,《孙子兵法》中记载了这样一道题目:今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几只?试编写程序解决这个问题。
package com.bdqn.demo2;
public class Diliuzhang1 {
public static void main(String[] args) {
int chookNum = 0; // 鸡
int rabbitNum = 0; // 兔子
for (int i = 0; i <= 35; i++) {
chookNum = i;
rabbitNum = 35 - i;
if (chookNum * 2 + rabbitNum * 4 == 94) {
System.out.println(chookNum + "\t" + rabbitNum);
}
}
}
}
4.开发一个标题为"FlipFlop"的游戏应用程序。它从1计数到100,遇到3的倍数就输出单词"Flip",遇到5的倍数就输出单词"Flop",遇到即为3的倍数又为5的倍数则输出单词"FlipFlop",其余情况下输出当前数字。
package com.bdqn.demo2;
public class Diliuzhang2 {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if (i % 3 == 0 && i % 5 == 0) {
System.out.println("FlipFlop");
continue;
} else {
if (i % 3 == 0) {
System.err.println("Flip");
continue;
} else {
if (i % 5 == 0) {
System.out.println("Flop");
continue;
} else {
System.out.println(i);
}
}
}
}
}
}
5.在马克思手稿中有一道趣味题的数学问题:一共有30个人,可能包括男人,女人和小孩。他们在一家饭馆吃饭共花了50先令,其中每个男人花了3先令,每个女人花2先令,每个小孩花1先令。请问男人,女人和小孩各几人?
package com.bdqn.demo2;
public class diliuzhang3 {
public static void main(String[] args) {
int men; //男人
int wome; //女人
int kids; //小孩
for (men = 0; men <= 10; men++) {
for (wome = 0; wome <= 30; wome++) {
for (kids = 0; kids <= 30; kids++) {
if (men + wome + kids == 30 && 3 * men + 2 * wome + kids == 50) {
System.out.println("男人" + men + "女人" + wome + "小孩" + kids);
}
}
}
}
}
第七章数组
2.首先依次输入五句话,然后将它逆序输出。
package com.bdqn.demo;
public class Demo6 {
// 在java中, 数组可以存储, 一组连续的, 数据类型相同的, 元素
public static void main(String[] args) {
System.out.println("请输入5句话");
String [] shuju = new String [] {"在java中","数组可以存储"," 一组连续的","数据类型相同的","元素"};
for (int i = 0; i < shuju.length; i++) {
System.out.println("第"+(i+1)+"句话:"+shuju[i]);
}
System.out.println("逆序输出5句话:");
for (int i=shuju.length-1; i>=0; i--) {
System.out.println(shuju[i]);
}
}
}
3.某百货商场当日消费积分最高的八名顾客,他们的积分分别是18,28,7,36,13,2,89,63。编写程序找出最低的积分及它在数组中的原始位置(下标)。
package com.bdqn.dierzhangjie; public class Demo { //第3题
public static void main(String[] args) {
int points[] = new int[] {18,25,7,36,13,2,89,63}; //存储八名顾客积分
int min = 0; //存储最低积分
int index = points.length; //存储最低积分下标
min = points[0]; //设置最低积分下标为0
for (int i = 0; i < points.length; i++) {
if(min>points[i]) {
min = points[i];
index = i;
}
}
System.out.println("最低的积分为:"+min);
System.out.println("最低的积分的下标为:"+index);
}
}
4.从键盘上输入10个整数,合法值为1,2或3,不是这三个数则为非法数字。试编程序统计每个整数和非法数字的个数。
package com.bdqn.demo;
import java.util.Scanner;
public class Demo7 {
public static void main(String[] args) {
int [] nums = new int [10]; //创建数组长度为10,存储用户输入数字
int [] count = new int [4]; //创建数组长度为4,存储三个合法数字和非数字的个数
Scanner input = new Scanner(System.in); //控制台输入数字
System.out.println("请输入10个数");
for (int i = 0; i < nums.length; i++) {
nums[i]=input.nextInt();
switch ( nums[i] ) { //判断数字的值
case 1:
count[0]++;
break;
case 2:
count[1]++;
break;
case 3:
count[2]++;
break; default:
count[3]++;
break;
}
}
System.out.println("数字1的个数:"+count[0]);
System.out.println("数字2的个数:"+count[1]);
System.out.println("数字3的个数:"+count[2]);
System.out.println("非法数字的个数:"+count[3]);
}
} 5.假设有一个长度为5的数组,如下所示。
int [] array = new int [] {1,3,-1,5,-2};
现创建一个新数组 newArray[],要求新数组元素的存放顺序与原数组中的元素逆序,并且如果原数组中的元素值小于0,在新数组中按0存储。
package com.bdqn.demo;
public class Demo8 { //第5题
public static void main(String[] args) {
int[] array = new int[] { 1, 3, -1, 5, -2 };
int[] newArray = new int[5];
System.out.println("原数组为:");
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.print("逆序并处理后的数组为:");
for (int i = array.length - 1; i >= 0; i++) {
continue;
}
}
}
6.有一组英文歌曲,按照歌曲名称的字母顺序从"A"到"Z"顺序排列,保存在一个数组中。现在增加一首新歌,将它插入数组,并保持歌曲名称升序排列。
package com.bdqn.demo;
import java.util.Arrays;
import java.util.Scanner;
public class Demo9 { //第6题
public static void main(String[] args) {
String [] musics = new String [] {"Island","Ocen","Pretty","Sun"}; //创建插入前的数组
String [] music1 =Arrays.copyOf(musics,5); //插入后的数组
int index =music1.length;
System.out.println("插入前的数组为:");
for (int i = 0; i < musics.length; i++) {
System.out.print(musics[i]+" ");
}
Scanner input = new Scanner(System.in);
System.out.println("\n请输入歌曲名称:"); //输入歌曲名 :Ready
String m = input.next();
for (int i = 0; i < musics.length; i++) {
if (musics[i]pareToIgnoreCase(m)>0) {
index = i;
break;
}
}
for (int i = music1.length - 1;i>index;i--) {
music1[index] = m;
}
System.out.println("\n插入后的数组为:");
for (int i = 0; i < music1.length; i++) {
System.out.print(music1[i]+" ");
}
}
}
第八章循环结构进阶
2.编写程序,打印如下图案,要求该图案的行数由用户输入。
package com.bdqn.demo;
import java.util.Scanner;
public class Demo14 {
public static void main(String[] args) {
int rowe = 0;
System.out.println("请输入行数:");
Scanner input = new Scanner(System.in);
rowe = input.nextInt();
for (int i = 1; i <= rowe; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + " ");
}
System.out.print("\n");
}
}
}
3.我国古代数学家张邱建在《算经》中出一道"百钱买百鸡"的问题,题意是这样的:5文钱可以买1只公鸡,3文钱可以买一只母鸡,一文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么公鸡,母鸡,雏鸡各有多少只?
package com.bdqn.demo;
public class Demo15 {
public static void main(String[] args) {
for (int i = 0; i < 20; i++) { //i整数等于公鸡
for (int j = 0; j < 33; j++) { //j整数等于母鸡
for (int k = 0; k < 100; k++) { //k整数等于雏鸡
if ((5 * i + 3 * j + k / 3 == 100) && (i + j + k == 100)) {
System.out.println("公鸡" + i + "母鸡" + j + "雏鸡" + k);
}
}
}
}
4.有三个班级各四名学员参赛,从控制台输入每个班级参赛学员的成绩,要求统计出三个班级所以参赛学员中成绩大于85分的学员的平均分。
package com.bdqn.demo;
import java.util.Scanner;
public class Demo16 {
public static void main(String[] args) {
int[] score = new int[4]; // 成绩数组
int classnum = 3; // 班级数量
double sum = 0.0; // 成绩总和
double[] sumArray = new double[classnum]; // 平均成绩数组
Scanner input = new Scanner(System.in); //控制台输入
for (int i = 0; i < classnum; i++) {
sum = 0.0;
System.out.println("请输入第" + (i + 1) + "个班级的成绩");
for (int j = 0; j < score.length; j++) {
System.out.println("第" + (j + 1) + "个学员的成绩:");
score[j] = input.nextInt();
sum += score[j];
}
sumArray[i] = sum / score.length;
System.out.println("三个班级所以参赛学员中成绩大于85分的学员的平均分:" + sumArray[i] + "\n");
}
}
}
5.假设一个简单的在ATM上取款的过程如下:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户"密码错误,请去卡",结束交易。如果用户密码正确,在提示用户输入金额(amount),ATM只能输出100元的纸币,一次取钱数要求最低0元,最高1000元。如果用户输入金额符合上述要求,则打印输出用户取的钱数,最后提示用户"交易完成,请取卡!",否则提示用户重新输入金额。假设用户密码是111111,
package com.bdqn.demo;
import java.util.Scanner; public class Demo18 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int num = 0;
for (int i = 0; i < 3; i++) {
System.out.print("请输入密码:");
int password = input.nextInt();
if (password == 111111) {
break;
} else {
num++;
continue;
}
}
if (num == 3) {
System.out.println("输入次数超过三次,请取卡!");
}
if (num < 3) {
System.out.print("请输入金额:");
int money = input.nextInt();
while (money % 100 != 0 || money < 0 || money > 1000) {
System.out.print("输入金额不合法,请重新输入:");
money = input.nextInt();
}
System.out.println("您取了" + money + "元");
System.out.println("交易完成,请取卡!");
}
}
}
6.输入行数,打印菱形,要求如下:
从控制台输入菱形的高度(行数)。如果用户输入的行数合法(奇数),则打印出菱形,否则提示用户输入奇数。
package com.bdqn.demo;
import java.util.Scanner;
public class Demo17 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入菱形的行数(奇数):");
int row = input.nextInt();
while (row % 2 == 0) {
System.out.print("输入错误,请输入奇数:");
row = input.nextInt();
}
int row1 = (row + 1) / 2;
for (int i = 1; i <= row1; i++) {
int row2 = row1 - i;
int row3 = 2 * i - 1;
for (int j = 0; j < row2; j++) {
System.out.print(" ");
}
for (int j = 0; j < row3; j++) {
System.out.print("*");
}
System.out.println("");
}
int row4 = (row - 1) / 2;
for (int i = 1; i <= row4; i++) {
int row5 = (row - 2 * i);
for (int j = 1; j <= i; j++) {
System.out.print(" ");
}
for (int j = row5; j > 0; j--) {
System.out.print("*");
}
System.out.println("");
}
}
}
更多推荐
Java编程语言基础 课后作业
发布评论