来黑马一个多礼拜了,学了循环,判断等语句,前两天练习到一个题目,叫百钱买百鸡,鸡翁五文一只,鸡母三文一只,鸡雏三只一文,求问一百文钱买一百只鸡有哪些可能?(题目大概意思就是这样),以下是我敲的代码,不正确的地方请大佬们指出来.
public class Snap {
public static void main(String[] args) {
for (int x = 0; x <= 100 / 5; x++) {
for (int y = 0; y <= 100 / 3; y++) {
int z = 100 - x - y;
if (z % 3 == 0 && 5 * x + 3 * y + z / 3 == 100) {
System.out.println("鸡翁:"+x + "," +"鸡母:"+ y + ","+"鸡雏:" + z);
}
}
}
}
}
后来学到了方法,我就想可不可以定义一个方法,用多少钱买多少只鸡通过键盘录入的方法来实现,然后根据情况判断有多少种方法,或者一种情况都没有就输出输入数据有误,然后我就敲出了如下代码,小白所写,勿喷,有错请指出;
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你准备花的钱数");
int a = sc.nextInt();
System.out.println("请输入你准备买的鸡的只数");
int b = sc.nextInt();
getCount(a,b);
}
public static int[] getCount(int a ,int b){
int[] arr = new int[3];
int x=arr[0];//鸡翁
int y=arr[1];//鸡母
int z=arr[2];//鸡雏
for(x=0;x<=a/5;x++){
for(y=0;y<=a/3;y++){
z=b-x-y;
if(z%3==0&&5*x+3*y+z/3==a){
System.out.println(x+","+y+","+z);
}
if(x+y+z!=b&&5*x+3*y+z/3!=a){
System.out.println("输入数据有误");
}
}
arr[0]=x;
arr[1]=y;
arr[2]=z;
}
return arr;
}
}
虽然敲出了代码,我自己可能觉得没毛病,如果有错还是希望大佬们指出来,毕竟人不能太膨胀了,哈哈哈哈..........
敲代码的过程可能是枯燥的,但是当你解决一个BUG或者说敲出一段代码后,还是很有成就感的.感谢黑马给了我这样一个机会,希望以后共同进步!(突然发现,因为敲代码需要,我把标点符号改成了英文模式下的了,所以这段文字中的所有标点符号全是半角的)
|
|