IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> # 我的第一个java训练作业 -> 正文阅读

[Java知识库]# 我的第一个java训练作业

我的第一个java训练作业

——进制转换器
题目:十进制向任一用户输入的N进制转换的程序。例如,提示用户输入某个进制类型,若用户输入3则表示采用3进制;随后再提示用户输入某个十进制数,假设为6;则程序返回6的三进制表示形式,即20;若输入进制为4,则6的四进制表示应返回12,以此类推。

一、遇到的一些问题

思路很简单就是做一个循环。就是输入的数字要先对N取余,第一个取余得到的就是对应最右边的位次,再以此向左;取余之后相除,除后取余得到第二位数字以后向后类推
由于第一次写java代码,以前的编程只学过C和C#还忘了很多,所以记录一下最基础的问题
1.在需要从键盘录入
Scanner XXX = new Scanner(System.in);
在调用录入键盘的输入前要写的一句话,在这个里面我的理解是XXX就是一个对象,是你自己起的名字,这句话是创建 Scanner 对象的基本语法。
一个相关的菜鸟教程
2. 为了使得程序增加用户友好性,我运用了do while循环,在最后嵌套时要注意将do while 的判定条件中的未知变量的定义要放在这个循环的外部,不然会报错。但是不知道为什么我的代码的do while 循环不太对,没有能够成功循环,如果有朋友能够指出问题感激不尽~
3. 在程序中在程序中定义数组的方法:
4.

int size = 10;//定义数组的长度是10
int[] numList = new int[size];//这里是对于数组的定义,new是新建一个数组

4.在输出数组时,一开始选择的是正序输出,会导致顺序正好是反的,于是我将循环改成

for(int a=0;a<numList.length;a++)
{System.out.print(numList[10-a]);}

发现这样做程序报错了,原因是一共我为数组设置了10位,但是起始是从0开始,所以最后一位应该是9,也就是说正确的应该是:

for(int a=0;a<numList.length;a++)
{System.out.print(numList[9-a]);}

于是程序正确运行了

二、代码奉上

package mathcalculation;
//胡竞文's homework 2
import java.util.Scanner;//这句话是用来调用Scanner类的
public class mathcalculation {
	public static void main(String[] args)//主函数的定义
	{
		
		String dialogresult="a";
		do{
		Scanner calculation = new Scanner(System.in);
		System.out.println("欢迎来到通信本1902胡竞文的实验2");
		System.out.println("请输入数字N表示你要将十进制数转为N进制数:");	
		if (calculation.hasNextInt()) 
		{
         int transfernum = calculation.nextInt();
		 //定义transfernum为数字N。即N进制
         System.out.println("请输入要转换的数字inputnum");
         int inputnum=calculation.nextInt();//定义inputnum为输入要计算的数
         int size = 10;//定义数组的长度是10
         int[] numList = new int[size];//这里是对于数组的定义,new是新建一个数组
         int i=0;
         while(inputnum!=0)
         //务必记住这里的思路是输入的数字要先对N取余,第一个取余得到的就是对应最右边的位次,再以此向左;取余之后相除,除后取余得到第二位数字以后向后类推  
         {
          	numList[i]=inputnum%transfernum;
        	inputnum=inputnum/transfernum;
        	i++;
         }
         System.out.println("对应的十位二进制数字是");
         for(int a=0;a<numList.length;a++)
         {System.out.print(numList[9-a]);}//输出得到的装有二进制01的数组  
         System.out.println();
		}
		else System.out.println("输入的不是整请重新编译程序重新输入!");
        System.out.println("是否要继续程序,输入Y表示继续,输入其他符号退出程序");
        dialogresult=calculation.next();/为什么这里用nextString就会报错
	}while(dialogresult=="Y");/为什么do while 语句在这里不能循环
    }
}

三、实验截图

在这里插入图片描述
记录就到这里啦~拜拜

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:22:51  更:2021-10-11 17:24:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:32:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码