class Fruit{
目前创新互联已为超过千家的企业提供了网站建设、域名、网络空间、绵阳服务器托管、企业网站设计、嵊泗网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
private String fruitName;
private float price;
public Fruit(String fruitName, float price) {
super();
this.fruitName = fruitName;
this.price = price;
}
public String getFruitName() {
return fruitName;
}
public void setFruitName(String fruitName) {
this.fruitName = fruitName;
}
public float getPrice() {
return price;
}
public void setPrice(float privce) {
this.price = privce;
}
@Override
public String toString() {
return "水果名称:" + getFruitName() + " " + "价格:" + getPrice();
}
}
class Apple extends Fruit{
public Apple(String fruitName, float price) {
super(fruitName, price);
}
}
class Banana extends Fruit{
public Banana(String fruitName, float price) {
super(fruitName, price);
}
}
public class FruitShop {
ListFruit list;
public FruitShop(){
list = new ArrayListFruit();
list.add(new Apple("苹果",3));
list.add(new Banana("香蕉",2));
}
public void show(){
for (Fruit f : list) {
System.out.println(f);
}
}
public static void main(String[] args) {
new FruitShop().show();
}
}
一、思路:
1、建立一个String数组,用来存储用户输入的水果名字。
2、按字典出现的先后顺序即比较字符串大小。可以使用到String对象的compareTo()方法。
3、对比大小后,升序输出。
二、实现:
1、定义输入水果名字的个数,用来确定数组的大小,修改此值可以修改数组的大小。
2、用户输入,用循环实现接收,并存储到数组中。
3、将数据对比大小,按升序排列。使用最简单的冒泡排序法(麻烦易错)或Java的工具类(简单高效)。
4、输出排序后的数组。
实现代码:
//java代码:输入五种水果的英文,按字典出现的先后顺序循环输出。
import java.util.Arrays;
import java.util.Scanner;
public class CompareTest {
/**
* 一、思路:
* 1、建立一个String数组,用来存储用户输入的水果名字。
* 2、按字典出现的先后顺序即比较字符串大小。可以使用到String对象的compareTo()方法。
* 3、对比大小后,升序输出。
* 二、实现:
* 1、定义输入水果名字的个数,用来确定数组的大小,修改此值可以修改数组的大小。
* 2、用户输入,用循环实现接收,并存储到数组中。
* 3、将数据对比大小,按升序排列。使用最简单的冒泡排序法(麻烦易错)或Java的工具类(简单高效)。
* 4、输出排序后的数组。
* */
//定义用户输入数据的个数,修改此值可以修改个数及数据接收数组的大小
public static final int COUNT = 5;
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义接收用户输入数据的数组
String[] fruits = new String[COUNT];
Scanner reader = new Scanner(System.in);
//接收用户输入的数据
System.out.println("请输入"+COUNT+"个水果的英文名字:");
for(int i = 0;i COUNT;i++){
fruits[i] = reader.next();
}
reader.close();
//比较数组中数据的大小,并按升序排列。冒泡法
for(int i = 1;i = (COUNT-1);i++){
for(int n = 0;n (COUNT-i);n++){
if(fruits[n].compareTo(fruits[n+1]) 0){
String temp = null;
temp = fruits[n];
fruits[n] = fruits[n+1];
fruits[n+1] = temp;
}
}
}
//不使用冒泡排序,使用java自带的工具类,一句话即可,排序由底层自动完成
//Arrays.sort(fruits);
//输出排序后的数组,即为字典中的出现顺序
System.out.println("这些水果的英文名在字典中出现的顺序是:");
for(int i =0;i COUNT;i++){
System.out.print(fruits[i] + " ");
}
System.out.println();
}
}
运行结果图:
应注意:程序中使用的比较方式是区分大小写的,如果是不区分大小写的比较方式,应使用compareToIgnoreCase()方法。
/**
* 1.定义一个水果类Fruit,符合如下要求:
(a) 类Fruit的成员变量;
weight表示水果的质量,数据类型为float
color表示水果的颜色,数据类型为string.
(b)类Fruit的成员方法:
getWeight()获得水果的质量
getColor()获得水果的颜色
2、按照第1题中的水果类Fruit的定义,创建该类的对象f1和f2,其中f1的weight值为0.86, color值为yellow;
f2的weight值为0.73, color值为red; 存储并输出f1和f2的值,计算f1和f2的平均值。
* @author Administrator
*
*/
public class Fruit {
private float weight;
private String color;
//构造函数:用于存储对象的2个值
public Fruit(float weight, String color){
this.weight = weight;
this.color = color;
}
public float getWeight() {
return this.weight;
}
public String getColor() {
return this.color;
}
//求重量的平均值
public static float avg(float w1, float w2){
return w1*w2/2;
}
public static void main(String[] args){
Fruit f1 = new Fruit((float) 0.86, "yellow");
Fruit f2 = new Fruit((float) 0.73, "red");
System.out.println("f1:" + "\n" + " weitht:" + f1.getWeight() + "\n" + " color:" + f1.getColor());
System.out.println("f2:" + "\n" + " weitht:" + f2.getWeight() + "\n" + " color:" + f2.getColor());
System.out.println("平均值:" + Fruit.avg(f1.getWeight(), f2.getWeight()));
}
}
public class Pet {
private int weight;
private int age;
private String info;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public void showInfo() {
System.out.println(info);
}
public String getInfo() {
return info;
}
}
第二题:
interface Eatable{
public abstract String ebEatted();
}
第三题:
具体代码如下,你建一个名为Test.java的文件,将以下代码复制,编译运行即可。
import java.util.Scanner;
public class Test {
public static void main(String [] args)
{
System.out.println("====程序开始执行!====");
while(true)
{
System.out.println("请输入五种水果的名字,中间用逗号隔开:");
Scanner r=new Scanner(System.in);
//接收用户输入
String str=r.next();
//定义正则表达式来检验用户输入格式是否合法
String regex="[a-zA-Z]+,[a-zA-Z]+,[a-zA-Z]+,[a-zA-Z]+,[a-zA-Z]+";
if(!str.matches(regex))
{
System.out.println("您输入的格式不合法,请重新输入");
continue;
}
try
{
System.out.println("您输入的序列为:["+str+"],重新输入请按1,进行排序请按2,退出请按其它任意键");
int flag=r.nextInt();
switch(flag)
{
//提示用户重新输入
case 1:
{
continue;
}
//按第一个字母排序并输出
case 2:
{
String [] tmp=str.split(",");
int length=tmp.length;
//由于只有五种水果,不涉及效率问题,用冒泡排序即可
for(int i=0;ilength-1;i++)
{
for(int j=0;jlength-i-1;j++)
{
if(tmp[j].compareTo(tmp[j+1])0)
{
String strtmp=tmp[j];
tmp[j]=tmp[j+1];
tmp[j+1]=strtmp;
}
}
}
System.out.println("按任意键正序输出排序后结果,如想逆序输出请按n");
String outflag=r.next();
if(outflag.equals("n"))
{
System.out.print("逆序结果为:");
for(int k=length-1;k=0;k--)
{
System.out.print("["+tmp[k]+"]");
}
System.out.println("");
}
else
{
System.out.print("正序结果为:");
for(int k=0;klength;k++)
{
System.out.print("["+tmp[k]+"]");
}
System.out.println("");
}
}
}
//程序执行完毕,退出while循环
break;
}
catch(Exception e)
{
//出现异常 说明用户输入了非数字键,此时退出程序
break;
}
}
System.out.println("====程序执行结束!====");
}
}
弄了一下,代码如下,你可以参考参考:
Fruit类:
public abstract class Fruit {
private String shape;
public String getShape() {
return shape;
}
public void setShape(String shape) {
this.shape = shape;
}
public abstract void eat();
}
Apple类:
public class Apple extends Fruit {
public Apple(String shape) {
setFatherShape(shape);
}
public void setFatherShape(String shape)
{
super.setShape(shape);
}
public String getFatherShape()
{
return super.getShape();
}
@Override
public void eat()
{
System.out.println(getFatherShape()+"的苹果好甜");
}
}
Banana类:
public class Banana extends Fruit {
public Banana(String shape) {
setFatherShape(shape);
}
public void setFatherShape(String shape)
{
super.setShape(shape);
}
public String getFatherShape()
{
return super.getShape();
}
@Override
public void eat()
{
System.out.println(getFatherShape()+"的香蕉好香");
}
}
Orange类:
public class Orange extends Fruit {
public Orange(String shape) {
setFatherShape(shape);
}
public void setFatherShape(String shape)
{
super.setShape(shape);
}
public String getFatherShape()
{
return super.getShape();
}
@Override
public void eat()
{
System.out.println(getFatherShape()+"的桔子好酸");
}
}
Game类:
public class Game {
public Fruit luckDraw(){
Random random=new Random();
int luckNum= random.nextInt(3);//随机产生一个0-2之间的数
Fruit fruit = null;
//0-苹果(圆圆的)、1-香蕉(弯弯的)、2-桔子(长长的)
if(luckNum==0){
fruit=new Apple("圆圆的");
}else if (luckNum==1) {
fruit=new Banana("弯弯的");
}else if (luckNum==2) {
fruit=new Orange("长长的");
}
return fruit;
}
public static void main(String[] args) {
Fruit[] fruits=new Fruit[10];
Game game=new Game();
for (int i=0;i10;i++) {
fruits[i]=game.luckDraw();
fruits[i].eat();
}
}
}
运行结果:
弯弯的的香蕉好香
弯弯的的香蕉好香
长长的的桔子好酸
长长的的桔子好酸
圆圆的的苹果好甜
长长的的桔子好酸
圆圆的的苹果好甜
弯弯的的香蕉好香
长长的的桔子好酸
长长的的桔子好酸
楼主若觉得回答有所帮助,望采纳,谢谢!
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款