练习:
练习1(基础):
// 输入数量不确定的正数和负数(一次输入一个),
// 然后打印正数和负数的个数,当输入0时,程序停止
package com.hpe.java;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习1(基础):
// 输入数量不确定的正数和负数(一次输入一个),
// 然后打印正数和负数的个数,当输入0时,程序停止
Scanner sc =new Scanner(System.in);
int num1=0;
int num2=0;
while(true){
System.out.println("请输入整数:");
int num3=sc.nextInt();
if(num3>0){
num1++;
}else if(num3<0){
num2++;
}else{
break;
}
}
System.out.println("正数的个数为:"+num1);
System.out.println("负数的个数为:"+num2);
}
}
练习2(基础):
// 使用while循环方式打印100以内4的倍数
package com.hpe.java;
public class Demo02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习2(基础):
// 使用while循环方式打印100以内4的倍数
int num=4;
while(num<=100){
if(num%4==0){
System.out.println(num);
}
num++;
}
}
}
练习3(基础):
// 要求用户输入用户名和密码,只要不是admin和111就提示用户名或密码不正确,请重新输入。正确时结束循环,提示登陆成功。
package com.hpe.java;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习3(基础):
// 要求用户输入用户名和密码,只要不是admin和111就提示用户名或密码不正确,请重新输入。正确时结束循环,提示登陆成功。
Scanner sc =new Scanner(System.in);
boolean flag=true;
while(flag){
System.out.println("请输入用户名");
String userName=sc.next();
System.out.println("请输入密码");
String pwd=sc.next();
if(userName.equals("admin") && pwd.equals("111")){
flag=false;
System.out.println("登录成功");
}else{
System.out.println("用户名和密码不正确");
}
}
}
}
练习4(基础):
// 已知判断闰年的规则是:能被4整除,但是不能被100整除。或者能被400整除。打印从1900年至2050年期间所有的闰年。
package com.hpe.java;
public class Demo04 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习4(基础):
// 已知判断闰年的规则是:能被4整除,但是不能被100整除。或者能被400整除。打印从1900年至2050年期间所有的闰年。
int year=1900;
while(year<=2050){
if(year%4==0 &&year%100!=0){
System.out.println(year);
}else if(year%400==0){
System.out.println(year);
}
year++;
}
}
}
练习5(基础):
// 输入序号选择不用的功能
// 效果如下:
package com.hpe.java;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习5(基础):
// 输入序号选择不用的功能
// 效果如下:
Scanner sc=new Scanner(System.in);
boolean flag=true;
while(flag){
System.out.println("************************");
System.out.println("1.管理员 2.顾客 3.退出");
System.out.println("请输入数字选择登录:");
int num=sc.nextInt();
if(num==1){
System.out.println("管理员登录过程省略");
}else if(num==2){
System.out.println("顾客登录过程省略");
}else if(num==3){
System.out.println("系统退出");
flag=false;
}
}
}
}
练习6(基础):
// 编写程序,设计一个图平面积计算,选择不同的图形输入数字计算面积,选择4退出程序。
package com.hpe.java;
import java.util.Scanner;
public class Demo06 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习6(基础):
// 编写程序,设计一个图平面积计算,选择不同的图形输入数字计算面积,选择4退出程序。
Scanner sc=new Scanner(System.in);
boolean flag=true;
while(flag){
System.out.println("计算面积");
System.out.println("1.矩形 2.三角形 3.圆 4.退出");
System.out.println("请选择数字对应的功能");
int num=sc.nextInt();
if(num==1){
System.out.println("你选择了矩形");
System.out.println("请输入矩形的长:");
int num1=sc.nextInt();
System.out.println("请输入矩形的宽:");
int num2=sc.nextInt();
int num3=num1*num2;
System.out.println("矩形的面积为"+num3);
}else if(num==2){
System.out.println("你选择了三角形");
System.out.println("请输入三角形的底:");
int num1=sc.nextInt();
System.out.println("请输入三角形的高:");
int num2=sc.nextInt();
int num3=num1*num2/2;
System.out.println("三角形的面积为"+num3);
}else if(num==3){
System.out.println("你选择了圆");
System.out.println("请输入圆的半径:");
int num1=sc.nextInt();
double num2=3.14*num1*num1;
System.out.println("三角形的面积为"+num2);
}else if(num==4){
System.out.println("退出");
flag=false;
}
}
}
}
练习7(基础):
// 不断要求用户输入一个数字(假定用户输入的数字都是正整数),当用户输入end的时候显示刚才输入数字中的最大值
package com.hpe.java;
import java.util.Scanner;
public class Demo07 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习7(基础):
// 不断要求用户输入一个数字(假定用户输入的数字都是正整数),当用户输入end的时候显示刚才输入数字中的最大值
Scanner sc=new Scanner(System.in);
String num="0";
int max=0;
while(!num.equals("end")){
System.out.println("请输入数字:");
num=sc.next();
if(num.equals("end")){
System.out.println(max);
}else{
max = Integer.parseInt(num) >= max ? Integer.parseInt(num) : max;
}
}
}
}
练习8(选作):
有一只猴子摘了一堆桃子,每天吃掉一半桃子还不过瘾再多吃一个,吃到第十天的时候发现还剩下一个桃子,问猴子第一天一共摘了多少个桃子?。
解题思路:
第10天:桃子数是:1
第9天:桃子数是:(1+1)*2=4
第8天:桃子数是:(4+1)*2=10
…
总结:前一天的桃子数=(后一天的桃子数+1)*2
package com.hpe.java;
public class Demo08 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 练习8(选作):
// 有一只猴子摘了一堆桃子,每天吃掉一半桃子还不过瘾再多吃一个,吃到第十天的时候发现还剩下一个桃子,问猴子第一天一共摘了多少个桃子?。
//
// 解题思路:
// 第10天:桃子数是:1
// 第9天:桃子数是:(1+1)*2=4
// 第8天:桃子数是:(4+1)*2=10
// …
// 总结:前一天的桃子数=(后一天的桃子数+1)*2
int day=10;
int peach=1;
while(day!=1){
peach=(peach+1)*2;
day--;
}
System.out.println(peach);
}
}