这里是我最近学习Java遇见的几个比较棘手的小练习,分享一下
1.习题一
用三种方法实现将两个数交换。
import java.util.Scanner;
public class One {
public static void main(String[] args) {
Scanner p=new Scanner(System.in);
System.out.println("请输入一个数:a=");
int a=p.nextInt();
System.out.println("请输入另一个数:b=");
int b=p.nextInt();
System.out.println("将两个数进行交换");
way1(a,b);
way2(a,b);
way3(a,b);
}
//方法1
public static void way1(int a,int b){
int s;
s=a;
a=b;
b=s;
System.out.println("交换后a="+a);
System.out.println("交换后b="+b);
}
//方法二
public static void way2(int a,int b){
int s;
s=a+b;
a=s-a;
b=s-b;
System.out.println("交换后a="+a);
System.out.println("交换后b="+b);
}
//方法三
public static void way3(int a,int b){
a=a^b;//异或运算
b=a^b;
a=a^b;
System.out.println("交换后a="+a);
System.out.println("交换后b="+b);
}
}
2.习题二
用”*“拼出一个等腰三角形
public class Job8 {
public static void main(String[] args) {
for(int i=1;i<=10;i++){
for (int t=1;t<=10-i;t++){
System.out.print(" ");//前面的空白区域
}
for(int j=1;j<=i;j++){
System.out.print("* ");
//'*'后面加个空格,形成应该等腰三角形
}
System.out.println();
}
}
}
运行结果:
3.习题三
猜数字游戏:
随机产生0~9之间的数字
用户进行猜,只能猜3次
public class Six {
public static void main(String[] args) {
int max = 9, min = 0,time;
int num = (int) (Math.random() * 10);
System.out.println("数字已生成,请输入你猜的数字:");
Scanner s = new Scanner(System.in);
for (time = 3; time > 0; time--) {
int a = s.nextInt();
if(a==num){
System.out.println("你太天才了,猜对了");
return;
}
else if(a>num&&a<max){
max=a;
System.out.println("你输入的大了,应该在"+min+"~"+max+"之间");
}
else if (a<num&&a>min) {
min=a;
System.out.println("你输入的小了,应该在"+min+"~"+max+"之间");
}
}
System.out.println("很遗憾,你没有猜出来");
}
}
4.习题四
训练要点:
while循环结构
程序调试
需求说明:
循环输入商品编号,显示对应的商品价格
T恤的价格:245 网球鞋的价格: 570 网球拍:300
输入“n”结束循环
实现思路:
1、声明变量
2、循环体
3、循环条件
效果图:
import java.util.Scanner;
public class Seven {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("************************************\n" +
"请选择购买的商品编号:\n" + "1.T恤\t2.网球鞋\t3.网球拍\n" + "************************************");
int sum=0;
while (true) {
System.out.println("请输入商品编号:");
int num = s.nextInt();
System.out.println("请输入购买数量:");
int buy = s.nextInt();
switch (num) {
case 1:
sum+=(245.0*buy);
System.out.println("T恤245.0元\t"+"数量:"+buy+"\t"+"合计"+(245.0*buy)+"元");
break;
case 2:
sum+=(570.0*buy);
System.out.println("网球鞋570.0元\t"+"数量:"+buy+"\t"+"合计"+(570.0*buy)+"元");
break;
case 3:
sum+=(300.0*buy);
System.out.println("网球拍300.0元\t"+"数量:"+buy+"\t"+"合计"+(300.0*buy)+"元");
break;
}
System.out.println("是否继续(y/n):");
String str=s.next();
if(str.equals("n")){//str=n
break;
}
}
System.out.println("折扣:0.8\n"+"实付金额:"+sum+'\n'+"实付金额:");
int money=s.nextInt();
System.out.println("找钱:"+(money-sum));
}
}
5.小结
在这些Java小练习中,主要涉及到了if语句和循环的使用。通过这些练习,我总结了以下经验:
1.理解循环结构:在编写循环代码之前,确保理解循环的基本结构,包括循环条件和循环体。
2.避免无限循环:在编写循环时,要确保循环条件能够最终满足,否则将导致无限循环。
3.合理使用循环:在适当的情况下使用循环,以简化代码并提高效率。
调试技巧:在编写和调试循环代码时,可以使用断点和单步执行等方法来帮助定位问题。
通过这些经验和技巧的总结,我希望能够帮助其他初学者更好地掌握Java中的循环语句。这些练习让我更加熟悉Java的基本语法和编程技巧,为今后的学习打下了坚实的基础。在未来的学习中,我将继续努力,通过更多的实践来提高自己的编程能力。