当前位置: 首页 > news >正文

一题学会Java入门语法(需C\C++基础)

一题学会Java入门语法

题目:

提示用户从控制台输出1-15之间的任意数字n,然后输出n行数字金字塔。

例如:

Please Enter an integer between 1 and 15:6

Printing the number pyramid…

                    1

                2   1   2

           3   2   1   2   3

      4   3   2   1   2   3   4

 5   4   3   2   1   2   3   4   5

6 5 4 3 2 1 2 3 4 5 6

Java语法

  1. for, while, if 用法同 c & c++

  2. 输出: System.out.print("");

  3. 输出并换行: System.out.println();

  4. 包声明: package homework1;

    1. 作用:将类归入包homework1中,便于管理和组织代码。
    2. 与C++的区别:C++没有包的概念,而是使用命名空间(namespace)来组织代码。
  5. 导入库: import java.util.Scanner;

    1. 作用:导入Scanner类,用于从标准输入读取数据。

    2. 与C++的区别:C++通过包含头文件(如<iostream>)来使用输入输出功能,而Java使用import语句导入所需的类。

  6. 类定义

    public class Homework2_23 
    {
        public static void main(String[] args) {
            // 代码内容 
        }
    }
    
    1. 作用: 定义一个名为Homework2_23的公共类,并包含一个main方法,这是Java程序的入口点。
    2. 与C++的区别: C++程序通常只有一个全局的main函数,而Java要求所有代码都必须位于类中。
  7. 创建Scanner对象: Scanner scanner = new Scanner(System.in);

    1. 作用:创建一个Scanner对象,用于读取标准输入(键盘输入)。
    2. 与C++的区别:在C++中,使用std::cin来读取输入,无需显式创建对象。
  8. **输出提示信息: **System.out.print(" ");

  9. 读取用户输入: int n = scanner.nextInt();

    1. 作用:从标准输入读取一个整数,并赋值给变量n

    2. 与C++的区别:C++使用std::cin >> n;来读取输入。

  10. 计算最大宽度: int max_width = 2 * n - 1;

    1. 作用:计算金字塔的最大宽度,即当行数为n时的总宽度。
    2. 与C++的区别:两者语法相同,只是Java要求变量必须显式声明类型。
  11. 打印前导空格

    for (int j = 0; j < (max_width - (2 * i - 1)) / 2; j++) {    System.out.print("   "); } 
    

其余部分基本同C++。

全部代码:

package homework1;
import java.util.Scanner;
public class Homework2_23
{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Please  Enter an integer between 1 and 15: ");
        int n = scanner.nextInt();
        System.out.println("Printing  the number pyramid...");

        int max_width = 2 * n - 1;

        for (int i = 1; i <= n; i++) {//n行
            // 打印前导空格       前导空格越来越少
            for (int j = 0; j < (max_width - (2 * i - 1)) / 2; j++) {
                System.out.print("  ");//没有数字, 一次两格
            }

            // 打印左边
            for (int k = i; k >= 1; k--) {
                System.out.print(k  + " ");
            }

            // 打印右边
            for (int k = 2; k <= i; k++) {
                System.out.print(k  + " ");
            }
            System.out.println();
        }
    }
}

C++版代码 (可对照学习) :

#include <iostream>
#include <string>

using namespace std;

int main() {
    int n;
    cout << "Please Enter an integer between 1 and 15: ";
    cin >> n;
    cout << "Printing the number pyramid..." << endl;

    int max_width = 2 * n - 1;

    for (int i = 1; i <= n; ++i) {
        // 打印前导空格
        for (int j = 0; j < (max_width - (2 * i - 1)) / 2; ++j) {
            cout << "  ";
        }

        // 打印左边部分
        for (int k = i; k >= 1; --k) {
            cout << k << " ";
        }

        // 打印右边部分
        for (int k = 2; k <= i; ++k) {
            cout << k << " ";
        }

        cout << endl;
    }

    return 0;
}

相关文章:

  • 计算机毕业设计SpringBoot+Vue.jst网上购物商城系统(源码+LW文档+PPT+讲解)
  • UE5销毁Actor,移动Actor,简单的空气墙的制作
  • Linux 命令大全完整版(10)
  • TCP初始化序列号为什么要不一样
  • `sh` 与 `bash` 的区别详解
  • 重学SpringBoot3-怎样优雅停机
  • 什么是HTTP/2协议?NGINX如何支持HTTP/2并提升网站性能?
  • mac 下 java 调用 gurobi 不能加载 jar
  • 计算机毕业设计SpringBoot+Vue.jst网上超市系统(源码+LW文档+PPT+讲解)
  • 大模型微调笔记:对比LoRA、QLoRA、AdaLoRA、LoRA+
  • 【书生大模型实战营】玩转HF/魔搭/魔乐社区-L0G4000
  • python 基础知识全面总结
  • 论文精读: JACS 、 GdAlSi石墨化低维磁性
  • 【结束】JS如何不通过input的onInputFileChange使用本地mp4文件并播放,nextjs下放入public文件的视频用video标签无法打开
  • ubuntu22.04连接github无法访问的问题
  • ubuntu-24.04.1-desktop 中安装 QT6.7
  • go执行java -jar 完成DSA私钥解析并签名
  • CentOS 下安装和配置 HTTPD 服务的详细指南
  • 基于javaweb的SpringBoot酒店管理系统设计和实现(源码+文档+部署讲解)
  • ubuntu docker 安装 deepseek anythingllm/openwebui教程
  • cc域名做网站好吗/平台推广公司
  • wordpress tags页面/简述如何优化网站的方法
  • 腾讯的网站建设用了多少钱/班级优化大师下载安装app
  • 建设政府网站多少钱/关键词排名优化公司哪家好
  • 仪征做网站/seo搜索引擎优化关键词
  • 构建网站的步骤/如何让关键词排名靠前