[实验目的] 掌握JAVA的基础语句的灵活使用,能利用JAVA解决一些典型问题,理解数组的概念,掌握排序、查找等典型方法;具有运用数组组织数据进行程序设计的基本能力。
[实验类型]:设计型
[实验软件] Eclipse、MyEclipse或者Intellij
[实验基本原理] 排序算法和查找算法。
[实验内容]
以下是某电子商务网站的查找商品的界面:
(1)可以看到商品是无序排列的,请使用一维数组保存这些价格数据,设计或者选择某一种排序算法对商品进行排序。
public class commodity { public static void main(String[] args) { double[] goods={52.80,35.00,53.40,26.25,26.50,28.50,26.80,28.60,34.80,31.50}; //冒泡排序 for (int i = 0; i < goods.length; i++) { for (int j = 0; j < goods.length-1-i; j++) { if(goods[j+1]>goods[j]){ double temp=goods[j+1]; goods[j+1]=goods[j]; goods[j]=temp; } } } for (int i = 0; i < goods.length; i++) { System.out.printf(goods[i]+" "); } } }
(2)对排好序的商品,要选择某个范围内的价格。请设计一个查找算法或者选择某个查找算法输出满足这些范围的价格数据。
import java.util.Scanner; public class commodity { public static void main(String[] args) { double[] goods={52.80,35.00,53.40,26.25,26.50,28.50,26.80,28.60,34.80,31.50}; //冒泡排序 for (int i = 0; i < goods.length; i++) { for (int j = 0; j < goods.length-1-i; j++) { if(goods[j+1]>goods[j]){ double temp=goods[j+1]; goods[j+1]=goods[j]; goods[j]=temp; } } } for (int i = 0; i < goods.length; i++) { System.out.printf(goods[i]+" "); } //换行 System.out.println(); //查找某个范围内的价格 Scanner sc=new Scanner(System.in); while(true) { System.out.println("请输入查找商品的最低价格:"); double sc1 = sc.nextDouble(); System.out.println("请输入查找商品的最高价格:"); double sc2 = sc.nextDouble(); if (sc1 >= sc2 || sc1 < 0) { System.out.println("输入价格范围有误,请重新输入"); continue; } System.out.println("满足您所查找的价格范围有:"); for (int i = 0; i < goods.length; i++) { if(goods[i]>=sc1&&goods[i]<=sc2){ System.out.printf(goods[i]+" "); } } break; } } }
(3)给出算法流程图以及数组内存示意图
今天的内容你是否有所收获呢友友们🥰如果有写的不对的地方,欢迎大家帮我指正.最后,希望友友们点赞收藏一下博客关注后续的Java学习内容哦~😘💕💕