Java一维数组和二维数组的应用

该博客主要介绍了Java编程中的一维数组和二维数组的应用,包括掌握其创建、操作和使用。同时,还讲解了冒泡排序算法的实现,旨在帮助读者理解并能实际运用这些基础知识。

(实验四-数组)

  1. 实验目的
  2. (1) 掌握Java一维数组的应用方法。
  3. (2) 掌握Java二维数组的应用方法。
  4. (3) 理解冒泡排序方法。
    在这里插入图片描述
    实验要求如下:
    在这里插入图片描述
    在这里插入图片描述

具体代码如下:

import java.util.Scanner;
import java.util.Arrays;
import java.util.Comparator; 
import java.util.Collections;
public class 实验4数组 {
 public static void main(String[] args)
 {

  int k=0;
  do
  {
   phone();
   Scanner scanner = new Scanner(System.in);
   int n = scanner.nextInt();
   switch(n)
   {
   case 0:k=1;break;
   case 1:phonedata();break;
   case 2:paixu();break;
   case 3:sj();break;
   default: break; 
   }
  }while(k==0);
 }
 //初始界面
 static void phone()
 {
   System.out.println("*********手机销售管理*********");
   System.out.println("----1.显示--------2.按单价排序----");
         System.out.println("----3.查询--------0.退出----");
         System.out.println("请输入功能代码(0-3)");
 }
 //查询手机具体信息
 static void sj()
 {
  String[][] phones= new String[][]{
    {"0","华为","10","3500.0","35000.0"},
    {"1","小米","20.0","2100.0","42000.0"},
    {"2","VIVO","17.0","2800.0","47600.0"},
    {"3","OPPO","8.0","1355.0","10840.0"}
  };
  System.out.println("输入手机牌子:");
  Scanner sc = new Scanner(System.in);//字符串的输入
  String g=sc.next();
  for(int i=0;i<phones.length;i++)
  { 
   if(g.equals(phones[i][1]))//注意java中string的比较
   System.out.println("品牌名: "+phones[i][1]+" 数量:"+phones[i][2]+"单价:"+phones[i][3]);
  }
  
 }
 //手机按照单价的降序来排序
 static void paixu()
 {
  System.out.println("序号     手机品牌     数量     单价    小计");
  String[][] phones= new String[][]{
    {"华为","10","3500.0","35000.0"},
    {"小米","20.0","2100.0","42000.0"},
    {"VIVO","17.0","2800.0","47600.0"},
    {"OPPO","8.0","1355.0","10840.0"}
  };
  double [] a=new double [10];
  double [] b=new double [10];
  for(int i=0;i<phones.length;i++)
    a[i]=Double.parseDouble(phones[i][2]);//string转换成int类型
  Arrays.sort(a,0,4);//先a[]升序排列,再调用b[],完成降序
  int h=0,s=0;
  for(int i=3;i>=0;i--)
  {
   b[h]=a[i];
   h++;
  }
  for(int i=0;i<phones.length;i++)
  {
   for(int j=0;j<phones.length;j++)
   {
    if(b[i]==Double.parseDouble(phones[j][2]))
    {
     for(int l=0;l<4;l++)
     {
      if(s==i)
     {System.out.print(i+"\t"+phones[j][l]+"\t");s++;}//注意表格的格式
      else
     System.out.print(phones[j][l]+"\t"); 
     }
      
       System.out.println();
       }
      }
  }
 }
 //输出所有手机的信息
 static void phonedata()
 {
  System.out.println("序号     手机品牌     数量      单价     小计");
  String[][] phones= {
    {"0","华为","10","3500.0","35000.0"},
    {"1","小米","20.0","2100.0","42000.0"},
    {"2","VIVO","17.0","2800.0","47600.0"},
    {"3","OPPO","8.0","1355.0","10840.0"}
  };
  for(int i=0;i<phones.length;i++)
  {
   for(int j=0;j<phones[i].length;j++)
   {
    System.out.printf(phones[i][j]+"\t");
   }
   System.out.println();
  }
 }
}

程序运行结果为:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值