Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >尝试用java编写一个简单的编译器(我使用的是notepad++)

尝试用java编写一个简单的编译器(我使用的是notepad++)
EN

Stack Overflow用户
提问于 2014-09-23 20:02:17
回答 1查看 270关注 0票数 3

我的问题是,我如何编写一个简单的编译器,就像传真机中使用的编译器一样,将类似

另外,我可以“假设”输入的任何字符串都不包含大写字母和数字,并且任何字符串包含的任何类型的字符都将少于61,因此,我假设没有人会在我的程序中输入64个连续的a。

这就是我所得到的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.util.*;
public class Program4
{

    public static void main(String[] args)
    {
        Scanner scan = new Scanner(System.in);
        int n;
        char cn;
        String word;
        String numChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

        System.out.println("Hello, please enter a string");
        word = scan.nextln();

        if(n <= 61)
        {
        int n = ?;
        cn = numChars.charAt(n);
        }
    }
}

我假设我需要使用一个循环,但我不知道应该使用什么来计算重复的字母,然后判断一行中有多少个该类型的字母。现在我只是在征求建议,并没有太多的代码,因为我想这样做,但作为一个初学者,我的Java“词汇表”现在并不是很大。

任何建议/建议都将不胜感激。

诚心,Mr.Trips

好了,我回来了,看起来我这里的代码只想打印147。无论我输入什么,我总是会得到147。我试图手动跟踪所有的变量,但当我这样做时,我得到了我想要的东西,而且我的逻辑肯定有一些错误。有什么想法吗?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.util.*;    
public class Program4
{
    public static void main(String[] args)
    {

        Scanner scan = new Scanner(System.in);
        int n = 0;
        int s = 0;
        char a;
        char b;
        char c;
        String word;
        String numChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

        System.out.println("Please enter a string");
        word = scan.nextLine();


        while (n < word.length()) 
        {
            a = word.charAt(n);
            b = a;
            n = n ++;
            a = word.charAt(n);

            if (a == b)
            {
                    s = (s + 1) ; 
            }
            else if (a != b);
            {
                c = numChars.charAt(s);
                System.out.print(b + c);
                s = 0;
                c = 0;
                break;

            }
        }
    }
}

再次感谢您!

EN

回答 1

Stack Overflow用户

发布于 2014-09-23 20:06:35

既然你不想要代码,这在逻辑上就是怎么做的。你是对的,你应该遍历每个字符的字符串。将最后一个字符存储在一个变量中,并保留一个计数器变量。将当前字符与最后一个字符进行比较,如果相等,则递增计数器。一旦它不等于最后一个字符,则将counter + last char添加到结果字符串中,并重置计数器变量。每次迭代都会更新最后一个char变量。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26003765

复制
相关文章
java实现编译器_实现一个简单的编译器
简单的说 编译器 就是语言翻译器,它一般将高级语言翻译成更低级的语言,如 GCC 可将 C/C++ 语言翻译成可执行机器语言,Java 编译器可以将 Java 源代码翻译成 Java 虚拟机可以执行的字节码。
全栈程序员站长
2022/09/08
2.7K0
java实现编译器_实现一个简单的编译器
第一个 C 语言编译器是怎样编写的?
作者: 伯乐在线 - Chaobs 网址: http://blog.jobbole.com/94311/ 首先向C语言之父Dennis Ritchie致敬! 当今几乎所有的实用的编译器/解释器(以下统称编译器)都是用C语言编写的,有一些语言比如Clojure,Jython等是基于JVM或者说是用Java实现的,IronPython等是基于.NET实现的,但是Java和C#等本身也要依靠C/C++来实现,等于是间接调用了C。所以衡量某种高级语言的可移植性其实就是在讨论ANSI/ISO C的移植性。 C语言是
编程范 源代码公司
2018/04/16
2K0
我的测试用例是这样写的
一个好的用例的表述要点,即用例中应当包含的信息,一个优秀的测试用例,应该包含以下信息:
软件测试君
2019/07/10
8930
Java---软件试用次数(Properties类的简单使用)
编程练习(软件试用次数) 实现一个如下的软件小功能: 记录软件运行的次数并在每次运行时提示已经运行的次数。如果运行次数大于5次,软件不再运行并给出提示:试用次数已到,请注册!
谙忆
2021/01/21
5170
android编写单元测试用例,Android 简单的单元测试用例
android:name=”android.test.InstrumentationTestRunner” />
全栈程序员站长
2022/07/04
6250
探秘Java:用ByteBuddy编写一个简单的Agent
  在之前的博客当中我们了解了Java Agent的一些基本概念和如何编写一个简单的Java Agent,但是在之前的博客中所使用的Agent编写方法还是相对原始和繁琐的。在原先的逻辑中我们是使用Instrument直接进行二进制码操作和修改,这种方式要求使用者对Java class文件格式的相关知识能够了然于胸,简单来说就是需要做到人肉翻译二进制文件这样一个非人操作。为了进一步简化编写Java Agent的复杂度,这里我们要介绍下面这样一款字节码处理利器——ByteBuddy。
闲宇非鱼
2022/02/08
2.4K0
探秘Java:用ByteBuddy编写一个简单的Agent
Java编写一个简单的网易云音乐评论的抓取
代码的github地址 https://github.com/20100507/emotional_analysis 希望不要往死里抓啊~~~ 下面就是程序采集中的截图,我采用的forkjoin框架四
IT架构圈
2018/06/01
1.2K0
API测试用例的编写
在API的自动化测试维度中,测试维度分为两个维度,一个是单独的对API的验证,客户端发送一个请求后,服务端得到客户端的请求并且响应回复给客户端;另外一个维度是基于业务场景的测试,基于业务场景的也就是说编编写的API的测试用例是基于产品的业务逻辑。
Criss@陈磊
2019/10/16
7450
使用 LLVM 实现一个简单编译器
作者:tomoyazhang,腾讯 PCG 后台开发工程师 1. 目标 这个系列来自 LLVM 的Kaleidoscope 教程,增加了我对代码的注释以及一些理解,修改了部分代码。现在开始我们要使用 LLVM 实现一个编译器,完成对如下代码的编译运行。 # 斐波那契数列函数定义 def fib(x)     if x < 3 then         1     else         fib(x - 1) + fib(x - 2) fib(40) # 函数声明 extern sin(arg)
腾讯技术工程官方号
2021/09/18
3.1K0
编写java判断闰年_用Java程序判断是否是闰年的简单实例[通俗易懂]
我们知道,(1)如果是整百的年份,能被400整除的,是闰年;(2)如果不是整百的年份,能被4整除的,也是闰年。每400年,有97个闰年。鉴于此,程序可以作以下设计:
全栈程序员站长
2022/09/08
1.4K0
怎么的测试用例是一个好的测试用例?
众所周知,测试用例就是用来评估软件系统是否满足了一系列的商业需求而存在的。那么,如果使用了不好的或者是冗余的测试用例无疑就浪费的宝贵的工期,也浪费了公司的成本。所以,好的测试用例应该既能完美的评估商业需求并能达到最小成本消耗。
Criss@陈磊
2020/05/25
1.7K0
API测试用例的编写
在API的自动化测试维度中,测试维度分为两个维度,一个是单独的对API的验证,客户端发送一个请求后,服务端得到客户端的请求并且响应回复给客户端;另外一个维度是基于业务场景的测试,基于业务场景的也就是说编编写的API的测试用例是基于产品的业务逻辑,关于这点在我出版的书《Python自动化测试实战》测试案例实战中都有丰富的代码案例,
测试小兵
2019/10/17
7650
编写测试用例的技巧
测试用例是任何测试周期的第一步,对任何项目都非常重要。如果在此步骤中出现任何问题,则在整个软件测试过程中都会扩大影响。如果测试人员在创建测试用例模板时使用正确的过程和准则,则可以避免这种情况。
软测小生
2019/12/03
7290
API测试用例的编写
在API的自动化测试维度中,测试维度分为两个维度,一个是单独的对API的验证,客户端发送一个请求后,服务端得到客户端的请求并且响应回复给客户端;另外一个维度是基于业务场景的测试,基于业务场景的也就是说编编写的API的测试用例是基于产品的业务逻辑,关于这点在我出版的书《Python自动化测试实战》测试案例实战中都有丰富的代码案例,这里就不详细的再说明。抛开两个维度的思考点,作为测试团队的工作内容,首先要保障产品的业务逻辑是可以使用的,只要这样,产品才能够给客户带来价值,在基本的业务逻辑稳定的基础上,再一步需要思考的是整个系统的稳定性,抗压性和系统的承载负载的能力。那么在工程效率的角度上来思考,使用代码或者工具都不是核心,核心是如何使用这些工具或者代码来提升测试的效率,优化研发的流程,并持续的改进,从而达到过程中的改进。不管工具还是代码,对产品完整性的测试,都要考虑产品的业务逻辑,也就是产品的场景,而如何通过API的自动化测试方式来达到产品的业务场景的测试,在单元测试框架的视频里面我特别的说到了七个点,每个点都举了案例,其中最核心的一个点就是编写的每个测试用例都必须得有断言同时基于API的测试要基于产品的业务逻辑来进行,而单纯的测试API是没有多少意义的,比如一个登录的业务场景,登录接口好的就能够证明登录的业务场景是好的吗?很显然不能。
无涯WuYa
2019/10/13
9830
浅谈测试用例的编写
诸如此类的疑问很多,今天我们先来聊聊“如何编写用例”的问题。编写用例是我们测试人员日常工作中最主要也是最频繁的工作,我们可以从书上或者网上查到很多这方面的资料,很遗憾的是,很难用一篇文章能把这个问题讲得全面而清晰。这也跟企业中面临的情况复杂多变有关,本文希望抛砖引玉,欢迎大家在文章下方留言。
张树臣
2019/07/30
9890
浅谈测试用例的编写
编写测试用例的技巧
测试用例是任何测试周期的第一步,对任何项目都非常重要。如果在此步骤中出现任何问题,则在整个软件测试过程中都会扩大影响。如果测试人员在创建测试用例模板时使用正确的过程和准则,则可以避免这种情况。
FunTester
2019/12/04
6640
编写一个简单的JQuery插件
一个简单的JQuery插件 ---- 功能比较简单的插件,代码如下: /** * Created by lpe234 on 2016-11-26. */ "use strict"; (function ($) { // 默认参数 var defaults = { timeout: 100 }; // 定义扩展函数 $.fn.flashIt = function (option) { // 获取最终参数 var
lpe234
2020/07/27
4060
我是一个Java Class
前言:本文主要想讲一下Java虚拟机的故事, 可能有点偏门,不妥之处欢迎留言交流。
曲水流觞
2019/11/21
3790
我是一个Java Class
【小项目】:使用shell编写一个简单的告警系统
在这之前的笔记里,将大部分的常用shell基本语法已经介绍完了,在这之后就是实战一些小项目了。这个项目是做一个简单的告警系统,用于完成一些简单个性化的需求。
端碗吹水
2020/09/23
5610
【小项目】:使用shell编写一个简单的告警系统
使用Mweb编写我的博客文章
直接可以在mweb中编写文章,然后一键发布就好了.配置文件如下 这里的网址要写自己的. Tags: mweb Archives QR Code
简单、
2018/10/10
5060
使用Mweb编写我的博客文章

相似问题

如何用java编写简单的txt测试用例

22

编写一个简单的编译器

21

如何使用XUnit编写一个简单的测试用例?

13

尝试用Ruby编写简单的DSL

20

使用Java创建我自己的编译器(非常简单)

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文