学习java中的一些感悟

 一.学习过程中我的问题及反思:

     1.遇到的问题总是求助同学,不想自己在网上搜索找到解决问题的方法:

           多多在网络上搜索遇到难题的解决方法.

      2.基础还不够扎实:

          基础的算法还不够熟练.得多加练习;不够熟练的使用循环结构

二.收获

      收获一.

           注释中的代码没能继续从键盘获取数据的原因:

                 没有在循环结构中创建扫描器的对象,只是在循环体外定义并创建了扫描器对象,循环时并没有用到扫描器中nextInt()方法所以变量不能继续从键盘上获取数据.

                之前对其的错误理解:

                使用了swich语句中用来判断的变量和与扫描器从键盘获取的变量一致,就会继续返回循环外的    int num= input.nextInt(); 从而继续获取值.

import java.util.Scanner;

public class Text5{
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		String a1 = "T恤";
		String a2 = "网球鞋";
		String a3 = "网球拍";
		double b1 = 240.0;
		double b2 = 570.0;
		double b3 = 125.0;
		int b = 0;
		double d = 0.8;
		double f = 0;
		String c = "y";
		System.out.println("********************************");
		System.out.println("请选择购买的商品编号:");
		System.out.println("1.T恤\t2.网球鞋\t3.网球拍");
		System.out.println("********************************");
		
		while(c.equals("y")){
		System.out.print("请输入商品编号:");
		int a = input.nextInt();
		System.out.print("请输入购买数量:");
		b = input.nextInt();
		switch(a){
			case 1:
				System.out.println(a1+"$"+b1+"\t数量:"+b+"\t合计:$"+b*b1);
				break;
			case 2:
				System.out.println(a2+"$"+b2+"\t数量:"+b+"\t合计:$"+b*b2);
				break;
			case 3:
				System.out.println(a3+"$"+b3+"\t数量:"+b+"\t合计:$"+b*b3);
				break;
		}
		System.out.println("是否继续(y/n):");
		c = input.next();	
		}
		f = b*b3+b*b2+b*b3;
		System.out.println("");
		System.out.println("折扣:"+d);
		System.out.println("应付金额:"+f);
		System.out.print("实付金额:");
		double e = input.nextDouble();
		System.out.print("找零:"+(e-f*0.8));
	}
}
/*import java.util.Scanner;
public class Text5{
	public static void main(String[] args){
		int productT=245;//T恤价格

		int productshoe=570;//网球鞋价格

		int productpai=300;//网球拍价格
	    int yingfu1=0;
	    int yingfu2=0;
	    int yingfu3=0;
       String judge2 = "y";

		
		System.out.println("************************************");
		System.out.println("请选择购买的商品编号");
		System.out.println("1.T恤\t\t2.网球鞋\t\t3.网球拍");
		System.out.println("************************************");
		Scanner input =new Scanner(System.in);
		System.out.print("请输入商品编号:");
		int code = input.nextInt();
		System.out.print("购买数量:");
		int num= input.nextInt();
		
		if(code==1){
		   System.out.println("T恤 Y:"+productT+"\t数量:"+num+"\t合计:"+num*productT);
        }
		else if(code==2){
		   System.out.println("网球鞋 Y:"+productshoe+"\t数量:"+num+"\t合计:"+num*productshoe);
        }
		else if(code==3){
		   System.out.println("网球拍 Y:"+productpai+"\t数量:"+num+"\t合计:"+num*productpai);
        }
		
	    
		
		while(judge2.equals("y")){
			switch(code){
				case  1:
				  yingfu1=num*productT;
			    break;
				
				case  2:
				  yingfu2=num*productshoe;
			    break;
				
				case  3:
				  yingfu3=num*productpai;
			    break;

			}

	System.out.print("折扣:0.8");
    int shifu=input.nextInt();	
	System.out.print("应付金额:"+(shifu-0.8*(yingfu1+yingfu2+yingfu3)));
		
	}
}
*/

      收获二:

            如果要得到如图:

String s="*";    
        String xing="*";//xing表示*字符
        System.out.print("请输入直角三角形的行数:");
        int hang=input.nextInt();
        for(int i=0;i<hang;i++){

            
            System.out.println(xing);
            xing = xing+s+s;
        }

我用了类似如此的方法意图将将整型与String型乘2变成如此:"**"

事实上会出现如下图错误;

 正确的应用循环结构输出如:

import java.util.Scanner;
public class Text3 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		System.out.print("请输入直角三角行的的行数:");
		int a = input.nextInt();
		for (int i = 1; i <= a; i++) {
			System.out.println(" ");
			
			for (int j = 1; j <= a+1-i; j++) {
				System.out.print("*");
			}
	    }
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值