日期:2018.8.19

星期日

博客期:006

  说个事,本来想把博客园做一个交流平台的,可是交流度有点少...嗯...我看我还是把这个平台当作经验传授平台和自己的作品发布平台吧!Java的知识详解,我在这里说再多,跟别的教程平台又会冲突!浪费那么多的时间不值得。嗯,之前的那些教程啥的我就弃坑啦!这么大的坑我肯定无能为力啊!

  好吧,这次来看看正事!我本来想着也写一边 Java 的 Bignum 类的,但 Java 内部是有这个类的啊!这在我写了一半的时候,给我报错了,说是重名了啊!我这才想起来,不过确实可以通过查找替换啊!但这1400多行,我得累死啊!用C++写的时候,都废了不少的劲头。算了,放弃了,不是我这个人不行,是这没啥用啊!还有本来想借着C++的STL书来讲一讲库函数呢!老师说过哈~大厚书不能买...这本不厚(呵呵),我愣是等了将近3个月,还是没有发货...看下面几张图吧!我就不说了。

  今天国际惯例是写博客啊!所以之前的准备工作交给周一至周六去做!大家可以仿照我之前(上一个博客的图片)的方式来写程序啊!这样可以声明你写的日期和内容,因为你前期练习都是基础性的东西,所以文件的关联性不太大!这种方法就非常好!啊!非常好!反正写也写了,展示一部分吧!

//主函数
 public static void main(String args[]){
  
 }
 //--------------<内部数据存储>--------------//
 //---
 protected char []num=new char [100];
 protected boolean ifhavef;
 //--------------<附加小函数>--------------//
 //---
 //数据类型转换
 //===int和char表示变换
 public static int change(char x){
  int y=(int)x+'0';
  return y;
 }
 public static char change(int x){
  char y;
  switch(x){
  case 0:y='0';break;
  case 1:y='1';break;
  case 2:y='2';break;
  case 3:y='3';break;
  case 4:y='4';break;
  case 5:y='5';break;
  case 6:y='6';break;
  case 7:y='7';break;
  case 8:y='8';break;
  case 9:y='9';break;
  default:y='\0';break;
  }
  return y;
 }
 //===int和char*的转换
 public static int change_s(char x[]){
  int y;
  boolean havef=(x[0]=='-');
  char []z;
  z=x;
  if(havef){
   Bignum.runformer(z);
  }
  
  if(havef){
   y=-y;
  }
  return y;
 }
 public static void change_s(int x,char y[]){
  
 }
 //--------------<静态小函数>--------------//
 //---
 //位数函数
 //===[长度前移更新 ]
 public static void runformer(char x[])
 {
  int m=0;//执行前移的次数
  for(int i=0;i<100;i++)//测定m的值
  {
   if(x[i]!='0')
    break;
   m++;
  }
  if(m==0)
   return ;
  for(int i=0;x[i+m-1]!='\0';i++)//前移
   x[i]=x[i+m];
  if(x[0]=='\0')
  {
   x[1]=x[0];
   x[0]='0';
  }
 }
 //===[字符串位数升高 [后面补 0 ](默认升高 1 位) ]
 public static void run0(char x[])
 {
  int zz=Bignum.litude(x);
  x[zz]='0';
  x[zz+1]='\0';
 }
 public static void run0(char x[],int ct)
 {
  for(int i=1;i<=ct;i++)
   Bignum.run0(x);
 }
 //===[长度后移 x位(默认后移 1 位)]
 public static void runlatter(char x[])
 {
  char s[]=new char [100];
  int i;
  for(i=0;i<100&&x[i]!='\0';i++)
   s[i+1]=x[i];
  s[i+1]='\0';
  s[0]='0';
  x=s;
 }
 public static void runlatter(char x[],int t)
 {
  char s[]=new char [100];
  s[1]=x[0];
  int i;
  for(i=0;i<100&&x[i]!='\0';i++)//后移一次
  {
   s[i+1]=x[i];
  }
  s[i+1]='\0';
  s[0]='0';
  x=s;
  if(t!=1)//递归
   Bignum.runlatter(x,t-1);
 }
 //---
 //---
 //相反数
 public static Bignum1 anti(Bignum1 x)
 {
  Bignum1 z=new Bignum1(x.num);
  z.setf(!x.ifhavef);
  z.test();
  return z;
 }
 //交换函数
 public static void exchange(Bignum1 x,Bignum1 y)
 {
  Bignum1 z=new Bignum1(x);
  x.set(y.num,y.ifhavef);
  y.set(z.num,z.ifhavef);
  x.test();
  y.test();
 }
 //返回 10 的 i 次幂
 public static Bignum1 Bignum::run1(int i)
 {
  Bignum1 z;
  z.set("1",false);
  Bignum.run0(z.num,i);
  z.test();//无用
  return z;
 }
 //---
 //---
 //长度函数
 //===[测量整形、大数或字符串的长度]
 //------准确的长度(不含'\0')
 //------int最大长度为10
 public static int litude(int x)
 {
  int num=10;
  int z=1000000000;
  if(x==0)
   return 1;
  while(num!=1)
  {
   if((x/z)!=0)
    break;
   num--;
   z=z/10;
  }
  return num;
 }
 public static int litude(char x[])
 {
  int m;
  Bignum.runformer(x);
  for(int i=0;i<100;i++)
   if(x[i]=='\0')
   {
    m=i;
    break;
   }
  return m;
 }
 public static int litude(Bignum1 x)
 {
  return Bignum.litude(x.num);
 }
 //===[判断是否 x和 y相同长度 ]
 public static boolean ifsamelong(Bignum1 x,Bignum1 y)
 {
  return(Bignum.litude(x)==Bignum.litude(y));
 }
 //---
 //--------------<output、intput函数>--------------//
 //---
 //set函数
 //===[设置ifhavef]
 public void setf(boolean ifhavef_s)
 {
  ifhavef=ifhavef_s;
 }
 //===[设置num]
 public void setnum(char x)
 {
  char arrays[]=new char [100];
  arrays[1]='\0';
  arrays[0]=x;
  setnum(arrays);
 }
 public void setnum(char num_s[])
 {
  num=num_s;
 }
 //===[设置num和ifhavef]
 public void set(char num_s[],boolean ifhavef_s)
 {
  setf(ifhavef_s);
  setnum(num_s);
  test();
 }
 public void set(boolean ifhavef_s,char num_s[])
 {
  set(num_s,ifhavef_s);
 }

Java编制至今总结和学习报告的更多相关文章

  1. 201621123018《Java程序设计》第1周学习报告

    1.<Java程序设计>第1周学习报告 1.本周学习报告 关键字:Java的发展.Java语言的特点.JDK.JRE.JVE.Java开发工具.Java环境配置.Java是一种面向对象的程 ...

  2. 20145304 Java第九周学习报告

    20145304<Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 JDBC全名Java DataBase Connectivity,是Java联机数据库的标准规范.定义了 ...

  3. 20145304 Java第四周学习报告

    20145304<Java程序设计>第四周学习总结 教材学习内容总结 1.继承共同行为: 继承基本上就是避免多个类间重复定义共同行为,关键词为extends. 代码如下: //继承共同行为 ...

  4. 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈

    对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...

  5. 20145326《Java程序设计》第一周学习总结

    20145326<Java程序设计>第一周学习总结 教材学习内容总结 转眼间新的一学期终于开始了!为什么我这么期待呢?因为这学期可以上娄嘉鹏老师的java程序设计课,我不是什么电脑天才,之 ...

  6. 20145206《Java程序设计》实验三实验报告

    20145206<Java程序设计>实验三实验报告 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运 ...

  7. 20145330《Java程序设计》第二次实验报告

    20145330<Java程序设计>第二次实验报告 实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承多态 3.初步掌握UM ...

  8. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  9. 20145315 《Java程序设计》实验五实验报告

    20145315 <Java程序设计>实验五实验报告 实验五 Java网络编程 我负责服务器部分,王嘉澜负责客户端部分:http://www.cnblogs.com/SJZGM10/p/5 ...

随机推荐

  1. php的2种域名转向写法

    第一种 echo '<meta http-equiv="Refresh" content="0;url=' . $url . '">' ; 第二种 ...

  2. Python之进程 2 - multiprocessing模块

    ​ 我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创建的.因此,运行起来的python程序也是一个进程,那么我们也可以在程序中再创建进程.多个进程可以实现并发效果,也就是说, ...

  3. ASLP Kaldi

    ASLP(Audio, Speech and Language Processing Group,音频.语音和语言处理组)位于西北工业大学,隶属于陕西省语音和图像信息处理重点实验室(SAIIP). A ...

  4. Lattice

    Lattice是一个无环WFSA,结点可以是hmm状态.hmm(音素).词,每个结点是一段音频在某个时间的对齐 用训练好的声学模型.现成的语言模型和发音字典构建解码网络(wfst),最后将提取的测试集 ...

  5. struts2简单入门-关于Result标签Type属性的说明

    Result标签 作用 当action执行完毕,后要返回什么样的视图. Type属性 决定返回的是什么视图. struts-default.xml的Type属性的定义 <result-types ...

  6. 关于each other terminal

    LD_LIBRARY_PATH shouldn't contain the current directory I am trying to build a self-contain GLIBC 2. ...

  7. cubeui

    1.教程项目 安装过程中出现注解

  8. python,os.path简单用法

    #首先导入os包 import os#引入time模块是因为需要将浮点型的时间转为东八区时间 import time # basename(path),去掉路径名称,单独返回文件名 f = os.pa ...

  9. Mysql多实例安装笔记

    参考: 系统:KaliLinux (x86_64) 软件下载 1.下载地址: 2.选择5.6版本 安装 1.准备文件和目录 tar -zxvf mysql-5.6.40-linux-glibc2.12 ...

  10. LwIP Application Developers Manual10---LwIP IPv4/IPv6 stacks

    1.前言 lwIP正在加入IPv6,一个实验性的版本可以通过git下载,该版本实现了一个IPv4/IPv6的双协议栈.通过在lwipopts.h定义LWIP_IPV6可以使能IPv6 2.已实现的IP ...