运算符与控制语句练习(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);
}
}
}
}
}
}
本文来自博客园,作者:小幸福Y,转载请注明原文链接:https://www.cnblogs.com/ljinw/p/14045693.html