首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Ada引发的Constraint_error:“值”的错误输入:

Ada引发的Constraint_error:“值”的错误输入:
EN

Stack Overflow用户
提问于 2017-10-02 19:12:30
回答 1查看 773关注 0票数 1

我试图使用Integer‘’Value将字符串转换为Integer。这对于通过一个文件的第一个循环来说很好,但是在那之后我得到了一个糟糕的值输入(引发的Constraint_Error。我希望有人能告诉我我的方法的错误,这样我就可以在每个循环中将字符串转换成一个整数。)

代码语言:javascript
代码运行次数:0
运行
复制
WITH Ada.Text_IO, Ada.Integer_Text_IO;
USE Ada.Text_IO, Ada.Integer_Text_IO;

PROCEDURE Isbntest IS

  FUNCTION Strip(The_String: String; The_Characters: String)
        RETURN String IS
     Keep: ARRAY (Character) OF Boolean := (OTHERS => True);
     Result: String(The_String'RANGE);
     Last: Natural := Result'First-1;
  BEGIN
     FOR I IN The_Characters'Range LOOP
        Keep(The_Characters(I)) := False;
     END LOOP;
     FOR J IN The_String'RANGE LOOP
        IF Keep(The_String(J)) THEN
           Last := Last+1;
           Result(Last) := The_String(J);
        END IF;
     END LOOP;
     RETURN Result(Result'First .. Last);
  END Strip;


  Input: File_Type := Ada.Text_IO.Standard_Input;

BEGIN

   WHILE NOT End_of_File(Input) LOOP
     DECLARE 
     Line : String := Ada.Text_IO.Get_Line(Input);
     StrippedLine : String := line;
     ascii_val: Integer :=0;

  BEGIN
     StrippedLine := Strip(Line, "-");         
     ascii_val := integer'value(StrippedLine);
     Put(ascii_val);
     Put_line(StrippedLine);
  END;
   END LOOP;
   Close (Input);
end isbntest;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-02 21:32:50

问题是,在创建数组之后,您正在处理数组的长度。别干那事。

而不是

代码语言:javascript
代码运行次数:0
运行
复制
  DECLARE 
     Line : String := Ada.Text_IO.Get_Line(Input);
     StrippedLine : String := line;
  BEGIN
     StrippedLine := Strip(Line, "-");   

当您声明Stripped_Line时,只需将它直接初始化到正确的大小。

代码语言:javascript
代码运行次数:0
运行
复制
  DECLARE 
     Line : String := Ada.Text_IO.Get_Line(Input);
     StrippedLine : String := Strip(Line, "-"); 
  BEGIN

我假设你的“条形”函数在这里正确工作..。

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

https://stackoverflow.com/questions/46532176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档