代码:
public class foodTest {public static void main(String[] args) {//1、构建一个数组food[] arr = new food[3];//2、创建三个商品对象food f1 = new food("apple","123",3.2,500);food f2 = new food("pear","456",4.0,300);food f3 = new food("paper","567",1.5,504);//3、把商品添加到数组中arr[0]=f1;arr[1]=f2;arr[2]=f3;//4、验证数组for(int i=0;i<arr.length;i++){food food =arr[i];System.out.println(food.getName()+","+food.getId()+","+food.getPrice()+","+food.getRemain());}}
}
public class food {private String name;private String id;private double price;private int remain;public food() {}public food(String name, String id, double price, int remain) {this.name = name;this.id = id;this.price = price;this.remain = remain;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getRemain() {return remain;}public void setRemain(int remain) {this.remain = remain;}
}
运行结果:
由于在键盘录入中123与123之间有空格,则第一个只会输出一个123,并不会出现第二次键盘录入,会直接将第二个的123赋值给num2;
键盘录入的两套体系是不能混用的:
代码:
import java.util.Scanner;
public class scanner {public static void main(String[] args) {Scanner input = new Scanner (System.in);System.out.println("输入一个整数:");int b1 = input.nextInt();System.out.println(b1);System.out.println("请输入一个字符串:");String b111 = input.nextLine();System.out.println(b111);}
}
输入一个123+回车,字符串输入没有让输入,而是接受了回车,接收不到数据;
输入123 789,由于第一套体系遇到空格会停止接受,所以自动将 789赋值给b111;
弊端:先用nextInt(),再用nextLine()会使next Line()接受不到数据;
代码:
import java.util.Scanner;
public class carsTest {public static void main(String[] args) {Scanner input = new Scanner(System.in);cars [] arr = new cars [3];for(int i=0;i<arr.length;i++){cars c1 = new cars();System.out.println("输入一个汽车品牌:");String brand = input.next();c1.setBrand(brand);System.out.println("请输入它的价钱:");double price = input.nextDouble();c1.setPrice(price);System.out.println("请输入该汽车的颜色:");String color = input.next();c1.setColor(color);arr[i]=c1;}for(int i=0;i< arr.length;i++){cars car = arr[i];System.out.println(car.getBrand()+","+car.getPrice()+","+car.getColor());}}
}
public class cars {private String brand;private double price;private String color;public cars() {}public cars(String brand, double price, String color) {this.brand = brand;this.price = price;this.color = color;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}
}
代码结果:
代码细节:如果将创建对象写在了for循环的外面,那么输出的结果将如下图所示:
(打印出来的都是第三个的信息)
创建在外面,则只是创建了一个对象,循环第二次的时候只是修改了第一个的信息,循环第三次的时候只是修改了第二个的信息,从头到尾,只有那一个对象。