会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133662个问题
JAVA 全系列/第一阶段:AI驱动的JAVA编程/面向对象详解和JVM底层内存分析 1816楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/JAVA入门和背景知识 1818楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/JAVA入门和背景知识 1819楼

import java.util.Scanner;

public class TestYearSalary {
      public static void main(String[] args) {
            // 输入月薪
            System.out.println("谢谢来访年薪计算器+\t");
            if (true) {
                  int stop = 0;
                  outer: while (stop != 88) {
                        System.out.println("请输入每个月的薪资");
                        Scanner mtSalary = new Scanner(System.in);
                        int salary = mtSalary.nextInt();
                        // 输入每年几个月的薪资
                        System.out.println("请输入年薪多少月");
                        Scanner yearSalary = new Scanner(System.in);
                        int yrsSalary = yearSalary.nextInt();
                        long Salary = (long) salary * yrsSalary;
                        // System.out.println("您的年薪是" + Salary);80
                        // 如果年薪超过10w,恭喜您超过90%的中国人;
                        System.out.println(Salary > 100000 && Salary < 200000 ? "恭喜您超过90%的中国人"
                                    : (Salary >= 200000) ? "恭喜您超过98%的中国人" : "很遗憾您的薪资连平均水平都不到");
                        System.out.println("请输入您是要继续查询还是退出,如果要退出请按88,要是继续就按66,随便输入默认进入新年薪计算");
                        Scanner stops = new Scanner(System.in);
                        stop = stops.nextInt();
                        if (stop == 88) {
                              System.out.println("退出");
                              break outer;
                        }
                        continue outer;
                  }
            }
      }
}

自己按自己想法做的,感觉有点乱,还是能再简化下代码的

JAVA 全系列/第一阶段:AI驱动的JAVA编程/控制语句、方法、递归算法 1820楼

window01.png

package com.xh01;

import java.awt.*;
import javax.swing.*;
public class BollGame extends JFrame{

    Image ball = Toolkit.getDefaultToolkit().getImage("images/ball.png");
    Image desk = Toolkit.getDefaultToolkit().getImage("images/desk.png");

    double x = 200;
    double y = 200;
    double degree = 3.14/3;//弧度,3.14 = 180°;

    //boolean right = true;//控制小球的水平移动方向;

   //绘制窗口
    public void paint(Graphics g){

       System.out.println("窗口被画了一次");
       g.drawImage(desk,0,0,null);
       g.drawImage(ball,(int)x,(int)y,null);

       x = x + 10*Math.cos(degree);
       y = y + 10*Math.sin(degree);

       //碰到上下边界
        if(y>501-40-30||y<40+40){
            degree = -degree;
        }
        //碰到左右边界
        if(x>856-40-30||x<40){
            degree = 3.14 - degree;
        }

       /*
       if(right) {
           x = x + 10;
       }else{
           x = x - 10;
       }
       if(x>856-30-40){
           right = false;
       }
       if(x<40){
           right = true;
       }*/
   }

    //创建窗口
    void launchFrame(){

        setSize(856,501);
        setLocation(100,100);
        setVisible(true);

        //1s绘制25次
        while(true){

            repaint();
            try {
                Thread.sleep(40);//1s = 1000ms,大约1s绘制1000/40=25次;
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }

    }

    public static void main(String[] args){

        System.out.println("我的小游戏开始了");

        BollGame game  =  new BollGame();
        game.launchFrame();

    }

}

老师,我的代码运行起来,窗口放大是这样的,图片加载不出来

JAVA 全系列/第一阶段:AI驱动的JAVA编程/IDEA的使用和第一个java项目 1822楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/JAVA入门和背景知识 1823楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/飞机大战小项目训练 1825楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/飞机大战小项目训练 1826楼

   (){
        .setTitle()setVisible()setSize()setLocation()}

    ([] ) {
        = MyGameFrame().IaunchFrame()}
}

Error:Internal error: (java.util.concurrent.ExecutionException) org.jetbrains.jps.model.serialization.CannotLoadJpsModelException: Cannot parse file C:\Users\Administrator\IdeaProjects\JavaSE\javase.iml: ParseError at [row,col]:[1,1]

Message: 文件提前结束。

java.util.concurrent.ExecutionException: org.jetbrains.jps.model.serialization.CannotLoadJpsModelException: Cannot parse file C:\Users\Administrator\IdeaProjects\JavaSE\javase.iml: ParseError at [row,col]:[1,1]

Message: 文件提前结束。

at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)

at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)

at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadModules(JpsProjectLoader.java:384)

at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadModules(JpsProjectLoader.java:331)

at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadFromDirectory(JpsProjectLoader.java:199)

at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadProject(JpsProjectLoader.java:98)

at org.jetbrains.jps.model.serialization.impl.JpsSerializationManagerImpl.loadModel(JpsSerializationManagerImpl.java:42)

at org.jetbrains.jps.cmdline.JpsModelLoaderImpl.loadModel(JpsModelLoaderImpl.java:50)

at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:78)

at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:274)

at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:130)

at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:232)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

at java.base/java.lang.Thread.run(Thread.java:830)

Caused by: org.jetbrains.jps.model.serialization.CannotLoadJpsModelException: Cannot parse file C:\Users\Administrator\IdeaProjects\JavaSE\javase.iml: ParseError at [row,col]:[1,1]

Message: 文件提前结束。

at org.jetbrains.jps.model.serialization.JpsLoaderBase.tryLoadRootElement(JpsLoaderBase.java:86)

at org.jetbrains.jps.model.serialization.JpsLoaderBase.loadRootElement(JpsLoaderBase.java:66)

at org.jetbrains.jps.model.serialization.JpsProjectLoader.lambda$loadModules$1(JpsProjectLoader.java:359)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:222)

at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:30)

at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:201)

at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:221)

at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:190)

... 3 more

Caused by: org.jdom.JDOMException: ParseError at [row,col]:[1,1]

Message: 文件提前结束。

at com.intellij.openapi.util.JDOMUtil.loadUsingStaX(JDOMUtil.java:255)

at com.intellij.openapi.util.JDOMUtil.load(JDOMUtil.java:326)

at org.jetbrains.jps.model.serialization.JpsLoaderBase.tryLoadRootElement(JpsLoaderBase.java:78)

... 11 more

Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]

Message: 文件提前结束。

at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:652)

at com.intellij.openapi.util.SafeStAXStreamBuilder.build(SafeStAXStreamBuilder.java:94)

at com.intellij.openapi.util.JDOMUtil.loadUsingStaX(JDOMUtil.java:248)

... 13 more

老师,为什么我照着敲会出现这种错误??

JAVA 全系列/第一阶段:AI驱动的JAVA编程/飞机大战小项目训练 1828楼
JAVA 全系列/第一阶段:AI驱动的JAVA编程/数组和数据存储 1829楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637