小白745470
码龄9年
关注
提问 私信
  • 问答:175
    175
    总访问量
  • 暂无
    原创
  • 暂无
    排名
  • 0
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2016-06-18
博客简介:

qq_35350392的博客

查看详细资料
个人成就
  • 获得0次点赞
  • 内容获得0次评论
  • 获得0次收藏
成就勋章
兴趣领域 设置
  • Java
    javatomcatspringmavenintellij-idea
  • 游戏
    游戏程序游戏策划
创作活动更多

王者杯·14天创作挑战营·第2期

这是一个以写作博客为目的的创作活动,旨在鼓励码龄大于4年的博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见https://bbs.csdn.net/topics/619735097 2、文章质量分查询:https://www.csdn.net/qc 我们诚挚邀请你们参加为期14天的创作挑战赛!

74人参与 去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

输入一个数,将其插入到一个已排好序的数组中,使得原数组依然按原序有序。

答:
package com;

import java.util.Scanner;

public class Text02 {
    public static void main(String[] args) {
        int[] arr = {0,1,2,3,5,6,7};
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入数字:");
        int num = sc.nextInt();
        int[] arr1 = insert(arr, num);
        System.out.print("原数组:");
        out(arr);
        System.out.print("新数组:");
        out(arr1);
    }
    public static int[] insert(int[] arr, int num){
        boolean bo = true;
        int length = arr.length;
        int[] arr1 = new int[length+1];
        for(int i=0;i<length;i++){
            if(bo){
                if(arr[i]>=num){
                    bo = false;
                    arr1[i] = num;
                    arr1[i+1] = arr[i];
                } else{
                    if(i == length-1){
                        arr1[i] = arr[i];
                        arr1[i+1] = num;
                    }else{
                        arr1[i] = arr[i];
                    }
                }
            }else{
                arr1[i+1] = arr[i];
            }
        }
        return arr1;
    }
    public static void out(int[] arr){
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]);
        }
        System.out.println();
    }
}
回答问题 2021.12.23

是java啊 是不会啊 难受

答:

卡片数自己改num值就可以了,也可以用Scanner手动输入

package com;

import java.util.LinkedList;
import java.util.List;

public class Text {
    public static void main(String[] args) {
        //定义卡片数
        int num = 50;
        System.out.println("卡片数量:"+num);
        List list = new LinkedList();
        for(int i=0;i<num;i++){
            for(int j=0;j<=9;j++){
                list.add(j);
            }
        }

        System.out.print("卡片中包含的数字:");
        for(int i=0;i<list.size();i++){
            if(i%50==0){
                System.out.println();
            }
            System.out.print(list.get(i)+" ");
        }
        System.out.println("\n\n以上数字可拼出的数字:");
        for(int i=0;i>=0;i++){
            int a1 = 0;
            int a2 = 0;
            int a3 = 0;
            if(i>=10){
                if(i>=100){
                    a1 = i/100;
                    a2 = i%100/10;
                    a3 = i%10;
                    boolean text1 = fnd(a1,list);
                    if(!text1){
                        System.out.print("拼"+(a1*100+a2*10+a3)+"缺"+a1);
                        break;
                    }
                    boolean text2 = fnd(a2,list);
                    if(!text2){
                        System.out.print("拼"+(a1*100+a2*10+a3)+"缺"+a2);
                        break;
                    }
                    boolean text3 = fnd(a3,list);
                    if(!text3){
                        System.out.print("拼"+(a1*100+a2*10+a3)+"缺"+a3);
                        break;
                    }
                    System.out.print(a1*100+a2*10+a3+" ");
                    if((a1*100+a2*10+a3)%50==0){
                        System.out.println();
                    }
                }else{
                    a1 = i/10;
                    a2 = i%10;
                    boolean text1 = fnd(a1,list);
                    if(!text1){
                        System.out.print("拼"+(a1*10+a2)+"缺"+a1);
                        break;
                    }
                    boolean text2 = fnd(a2,list);
                    if(!text2){
                        System.out.print("拼"+(a1*10+a2)+"缺"+a2);
                        break;
                    }
                    System.out.print(a1*10+a2+" ");
                    if((a1*10+a2)%50==0){
                        System.out.println();
                    }
                }
            }else{
                a1 = i;
                boolean text1 = fnd(a1,list);
                if(!text1){
                    System.out.print("拼"+a1+"缺"+a1);
                    break;
                }
                System.out.print(a1+" ");
            }
        }


        System.out.print("\n\n剩余数字:");
        for(int i=0;i<list.size();i++){
            if(i%50==0){
                System.out.println();
            }
            System.out.print(list.get(i)+" ");
        }
    }
    public static boolean fnd(int a, List list){
        int ps = -1;
        boolean bo = true;
        for(int i=0;i< list.size();i++){
            if(a==(int)list.get(i)){
                ps = i;
            }
        }
        if(ps>=0){
            list.remove(ps);
        }else{
            bo = false;
        }
        return bo;
    }
}

img

回答问题 2021.12.21

打扰了,可以帮助一下吗

答:

img

package com;

abstract class ElectricityCharge {
    public abstract Double money(int i);
}
package com;

public class ElectricityChargeOfRain extends ElectricityCharge{
    @Override
    public Double money(int i) {
        Double money = 0.0;
        if(i<=200){
            money = 2.25*i;
        }else if(i>200){
            money = 2.25*200+2.25*(i-200)*0.9;
        }
        return money;
    }
}
package com;

public class ElectricityChargeLackRain extends ElectricityCharge{
    @Override
    public Double money(int i) {
        Double money = 0.0;
        if(i<=150){
            money = 3.5*i;
        } else if(i>150){
            money = 3.5*200+3.5*(i-200)*1.1;
        }
        return money;
    }
}
package com;

public class Text {
    public static void main(String[] args) {
        ElectricityChargeOfRain electricityChargeOfRain = new ElectricityChargeOfRain();
        ElectricityChargeLackRain electricityChargeLackRain = new ElectricityChargeLackRain();
        Double moneyOfRain = electricityChargeOfRain.money(300);
        Double moneyLackRain = electricityChargeLackRain.money(230);
        System.out.println(moneyOfRain);
        System.out.println(moneyLackRain);
    }
}

img

回答问题 2021.12.21

Java问题,求解答

答:

img

package com;

abstract class Person {
    public abstract void speak();
}
package com;

public class Student extends Person{
    @Override
    public void speak() {
        System.out.println("Student speak!");
    }
}
package com;

public class Worker extends Person{
    @Override
    public void speak() {
        System.out.println("Worker speak!");
    }
}
package com;

public class text {
    public static void main(String[] args) {
        Student student = new Student();
        Worker worker = new Worker();
        student.speak();
        worker.speak();
    }
}

img


是这样子吗?

回答问题 2021.12.21

java基础题 数组用for与if记录相等位置

答:

package com;

import java.util.ArrayList;
import java.util.List;

public class project1 {
    public static void main(String[] args) {
        //给定个整型4*4的数组(重复出现的数字)
        int [][] arr=new int[][]{{4,5,6,8},{2,3,4,5},{1,6,9,2},{1,3,5,7}};
        //给定一个数组中存在的数字
        int text = 5;
        //用for和语句把数组中与该数字相等的数字位置记录下米,并用0售代
        //list用来记录数组中与5相等的数字位置
        List list = new ArrayList();
        //arr1用来记录修改后的数组
        int [][] arr1=new int[4][4];
        for(int i=0;i<arr.length;i++) {
            for (int j = 0; j < arr[0].length; j++) {
                //如果与5相等
                if(arr[i][j] == text){
                    //用0售代
                    arr1[i][j] = 0;
                    //位置存入list
                    list.add(i);
                    list.add(j);
                }else{//如果不相等
                    arr1[i][j] = arr[i][j];
                }
            }
        }
        //输出原数组
        for(int i=0;i<arr.length;i++) {
            for (int j = 0; j < arr[0].length; j++) {
                System.out.print(arr[i][j]+"  ");
            }
            System.out.println();
        }
        //中间用-----------------隔开
        System.out.println("-----------------------------------");
        //输出修改后数组
        for(int i=0;i<arr1.length;i++) {
            for (int j = 0; j < arr1[0].length; j++) {
                System.out.print(arr1[i][j]+"  ");
            }
            System.out.println();
        }
        //输出text所在位置信息
        System.out.println(text+"所在位置:");
        for(int i=0;i<list.size();i++){
            if((i+2)%2==0){
                System.out.print("i="+list.get(i));
            }else{
                System.out.println("  j="+list.get(i));
            }
        }
        }
}

img

回答问题 2021.12.21

关于for和int语句,

答:

package com;

import java.util.ArrayList;
import java.util.List;

public class project1 {
    public static void main(String[] args) {
        //给定个整型4*4的数组(重复出现的数字)
        int [][] arr=new int[][]{{4,5,6,8},{2,3,4,5},{1,6,9,2},{1,3,5,7}};
        //给定一个数组中存在的数字
        int text = 5;
        //用for和语句把数组中与该数字相等的数字位置记录下米,并用0售代
        //list用来记录数组中与5相等的数字位置
        List list = new ArrayList();
        //arr1用来记录修改后的数组
        int [][] arr1=new int[4][4];
        for(int i=0;i<arr.length;i++) {
            for (int j = 0; j < arr[0].length; j++) {
                //如果与5相等
                if(arr[i][j] == text){
                    //用0售代
                    arr1[i][j] = 0;
                    //位置存入list
                    list.add(i);
                    list.add(j);
                }else{//如果不相等
                    arr1[i][j] = arr[i][j];
                }
            }
        }
        //输出原数组
        for(int i=0;i<arr.length;i++) {
            for (int j = 0; j < arr[0].length; j++) {
                System.out.print(arr[i][j]+"  ");
            }
            System.out.println();
        }
        //中间用-----------------隔开
        System.out.println("-----------------------------------");
        //输出修改后数组
        for(int i=0;i<arr1.length;i++) {
            for (int j = 0; j < arr1[0].length; j++) {
                System.out.print(arr1[i][j]+"  ");
            }
            System.out.println();
        }
        //输出text所在位置信息
        System.out.println(text+"所在位置:");
        for(int i=0;i<list.size();i++){
            if((i+2)%2==0){
                System.out.print("i="+list.get(i));
            }else{
                System.out.println("  j="+list.get(i));
            }
        }
        }
}

img

回答问题 2021.12.21