运算符与控制语句练习(2)

/*
1.循环输入商品编号和购买数量
2.当输入n时结账;
3.结账时计算应付金额并找零;

注意点:1.外层循环结构的选择;
		2.变量的定义;
		3.避免冗余代码的产生,寻求最优解;
*/
import java.util.Scanner;
public class TestDemo2{
	public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	int spbh = 0;//商品编号;
	int xzgs = 0;//选择个数;
	int price1 = 245; //T恤单价;
	int price2 = 570; //网球鞋单价;
	int price3 = 320; //网球拍单价;
	double tzong = 0; //T恤总价;
	double xzong = 0; //网球鞋总价;
	double pzong = 0; //网球拍总价;
	int txzgs = 0;//T恤选择个数;
	int xxzgs = 0;//网球鞋选择个数;
	int pxzgs = 0;//网球拍选择个数;
	String flag;   //接收判断;
	
	do{
		System.out.println("*************************************");
		System.out.println("请输入购买的商品编号: ");	
		System.out.println("1.T恤"+"\t"+"2.网球鞋"+"\t"+"3.网球拍");
		System.out.println("*************************************");
		
		System.out.print("请输入商品编号: ");
		spbh = sc.nextInt();
		System.out.print("请输入购买数量: ");
		xzgs = sc.nextInt();
		if(spbh==1){
			txzgs += xzgs;//选择个数;
			tzong = price1 * txzgs;  //总价
			System.out.println("T恤¥215.0\t"+"数量"+xzgs+"\t"+"合计¥"+tzong);
		}else if(spbh==2){
			xxzgs += xzgs;//选择个数;
			xzong = price2*xxzgs;  //总价
			System.out.println("网球鞋¥570\t"+"数量"+xzgs+"\t"+"合计¥"+xzong);
		}else if(spbh==2){
			pxzgs += xzgs;  //选择个数;
			pzong = price3*pxzgs;  //总价
			System.out.println("网球拍¥320.0\t"+"数量"+xzgs+"\t"+"合计¥"+pzong);
		}
		else{
			System.out.println("选择商品有误.");
		}
		
		System.out.print("是否继续(y/n)");
		flag=sc.next();
		
	}while(flag.equals("y"));
		System.out.print("折扣: 0.8");
		System.out.println("应付金额: "+((tzong+xzong+pzong)*0.8));
		System.out.print("实付金额: ");
		int money =sc.nextInt();
		System.out.print("找钱"+(money-((tzong+xzong+pzong)*0.8)));
	}
}
执行结果:

/*
商品对顾客的年龄层次进行调查,分析十位顾客的年龄,30岁以上的比率与30岁以下的比率;
*/
import java.util.Scanner;
public class TestDemo2{
public static void main(String[] args){
	Scanner input=new Scanner(System.in);
	int sum1=0;//30岁以上的人
	int sum2=0;//30岁以下的人

	for(int i=1;i<=10;i++){
	System.out.print("请输入第"+i+"位顾客的年龄:");
	int age =input.nextInt();
	if(age>30){
		sum1++;
	}else{
		sum2++;
	}
	}
	
	System.out.println("30岁以上的比率为: "+(sum1/10.0)*100);
	System.out.println("30岁以下的比率为: "+(sum2/10.0)*100);//一定是10.0;

}
}
/*
用while和for循环分别求出100以内的
奇数和偶数的和,并输出.
*/

public class TestDemo2{
	public static void main(String[] args){
	
	int sum1=0; 
	int sum2=0;
	/*int i = 0;
	while(i<100){
		if(i%2==0){
			sum1+=i;
		
		}else{
			sum2+=i;
		}
		i++;
	}
		System.out.println(sum1);
		System.out.println(sum2);*/
	for(int i=0;i<100;i++){
		if(i%2==0){
			sum1+=i;
		}else{
			sum2+=i;
		}
	}
	System.out.println(sum1);
	System.out.println(sum2);
	}
}

/*
求1!+2!+3!+.....+10!
*/

public class TestDemo2{
	public static void main(String[] args){
	int sum=0; 
	int a=1;
	for(int i=1;i<=10;i++){
		for(int j=1;j<=i;j++){//当=2时,二层循环循环两次;
			a=a*j;
		}
		sum+=a; 		
	}
	System.out.println(sum);
}
}
/*
循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,
停止录入并提示录入错误;录入错误,使用braek语句立刻跳出循环;
否则,累加求和
*/

import java.util.Scanner;
public class TestDemo2{
	public static void main(String[] args){
	Scanner sc = new Scanner(System.in);
	System.out.print("请输入学生姓名:");
	String name = sc.next();
	int sum = 0;
	for(int i=1;i<=5;i++){
		System.out.print("请输入第"+i+"门课的成绩:" );
		int num = sc.nextInt();
		sum += num;
		
		if(num<0){
			System.out.println("抱歉,分数录入错误,请重新录入");
				break;
				}
		}
	System.out.println(sum/5.0);
}
}
/*
1~10之间的整数相加,得到累加值大于20的当前数;
*/

public class TestDemo2{
	public static void main(String[] args){
	int sum = 0;
	for(int i=1;i<10;i++){
		sum +=i;
		if(sum>20){
			System.out.println(i);
			break;
		}
		
	}
	
	}
}
/*
循环录入3位会员的信息;
会员号合法,显示录入信息;
否则显示录入失败;
*/

import java.util.Scanner;
public class TestDemo2{
	public static void main(String[] args){
	
	System.out.println("MyShopping管理系统 > 客户信息管理 > 添加客户信息 ");
	Scanner sc = new Scanner(System.in);

	for(int i=0;i<=3;i++){
		System.out.print("请输入会员号(<4位整数>): ");
		int num = sc.nextInt(); //会员号
		
		String str = ""+num;
			//定义空字符拼接num,计算num位数

		System.out.print("请输入会员生日(月/日<2位整数表示>): ");
		String birthday = sc.next();//生日
		System.out.print("请输入会员积分: ");
		int fen = sc.nextInt();//会员积分
		
		if(str.length()<4||str.length()>4){
			//str的长度如果小于4或者大于4
			
			System.out.print("客户号"+num+"是无效会员号");
			System.out.print("录入信息失败");
			continue;
		}
		System.out.println("你输入的会员信息是: "+num+"\t"+birthday+"\t"+fen);
	}
		
	}
}
/*
打印矩形(4*5);
*/

public class TestDemo2{
	public static void main(String[] args){
	for(int i=0;i<4;i++){
	
		for(int k=0;k<5;k++){ 
		System.out.print("*");	
		}
		System.out.println();
	}
	}
}
/*
平行四边形
*/

public class TestDemo2{
	public static void main(String[] args){
	for(int i=0;i<5;i++){
		for(int j=0;j<i;j++){
			//打印空格,让*让后走
			System.out.print(" ");
		}
		//实现图形
		for(int k=0;k<5;k++){
			System.out.print("*");
		}
		System.out.println();
	}
	}
}
/*
九九乘法表;
*/

public class TestDemo2{
	public static void main(String[] args){
		for(int i=1;i<=9;i++){
			for (int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+i*j+"\t");
			}
			System.out.println();
		}
		
	}
}
/*
斐波那契数列 1.1,2,3,5,8,13,21....
第三位等于前两位相加
*/

import java.util.Scanner;
public class TestDemo2{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要打印的斐波那契数列的个数: ");
        int count = sc.nextInt();
        int a = 1;
        int b = 1;
        int c = 0; //因为斐波那契数列的前两位为1;
        for(int i=1;i<count-1;i++){
            if( i==1 || i==2){
                System.out.print(1+"\t");
            }else{
                c=a+b;
                a=b;
                b=c;
                System.out.print(c+"\t");
            }
        }
    }
}
/*
百钱买百鸡;
公鸡5块钱,母鸡3块钱,小鸡3个一块钱;
*/

import java.util.Scanner;
public class TestDemo2{
    public static void main(String[] args){
    for(int i =0;i<=20;i++){//公鸡
		for(int j=0;j<=34;j++){//母鸡
			for(int k=0;k<=300;k++){
				if(((i+j+k)==100)&&((5*i+3*j+k/3)==100)&&(k%3==0)&&(i!=0)){
					System.out.println("公鸡:"+i+"\t"+"母鸡"+j+"\t"+"小鸡"+k);
				}
			}
			
		}
	}   
    }
}

posted @ 2020-11-27 01:28  小幸福Y  阅读(135)  评论(0编辑  收藏  举报