标签: break

实现 io.Reader 时在无限循环中中断与返回的不同行为

我正在参加正式巡演。今天,我在做rot13reader 练习时遇到了一些奇怪的事情。

问题是当我使用break而不是return ttl, io.EOF,程序进入无限循环。但是,据我所知,在这个程序中,应该没有任何区别,break或者return ttl, io.EOF因为如果是break,下一行将return ttl, errRead()方法的末尾,这与return ttl, io.EOF.

我想知道为什么。与 Go 如何处理 io.Reader 接口及其实现的底层机制有关吗?

这是代码。

package main

import (
    "io"
    "os"
    "strings"
)

type rot13Reader struct {
    r io.Reader
}

func (rr *rot13Reader) Read(b []byte) (n int, err error) {
    rb := make([]byte, 8)
    var ttl int
    for {
        n, err := rr.r.Read(rb)
        if err == io.EOF {
            return ttl, …
Run Code Online (Sandbox Code Playgroud)

interface break infinite-loop go

0
推荐指数
1
解决办法
49
查看次数

python while循环中的Continue语句

我是 python 的初学者,我在使用这段代码时遇到了问题:

count = 0

while count <15:
   if count == 5:
      continue
   print(count)
   count += 1
Run Code Online (Sandbox Code Playgroud)

当 count 的值 = 5 时,它会停止循环,就像有一个break语句一样。为什么会这样呢?请帮忙!

python continue break while-loop

0
推荐指数
1
解决办法
2352
查看次数

IllegalArgumentException + 继续避免破坏程序?

我想问一下是否有可能阻止 IllegalArgumentException 中断程序运行。如果我做:

throw new 
IllegalArgumentException("Value not 
allowed!");
continue;
Run Code Online (Sandbox Code Playgroud)

触发异常后,这会阻止IAE破坏程序吗?如果没有,是否有任何方法可以将其作为错误消息抛出给用户,然后允许他们继续运行程序而无需重新运行?

java continue break illegalargumentexception

0
推荐指数
1
解决办法
33
查看次数

如何打破 kotlin when 子句?

假设我有 Java 代码

@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
    switch (motionEvent.getActionMasked()) {
            case MotionEvent.ACTION_DOWN: {
                if (something()) {
                     break;
                }
                // do more stuff here
                break;
            }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我为这样的东西重写了它,但我不确定它是正确的,它没有任何缺陷。

override fun onTouch(view: View, motionEvent: MotionEvent): Boolean {
    when (motionEvent.actionMasked) {
            MotionEvent.ACTION_DOWN -> {
                if (something()) {
                    return false
                }
                // do more stuff here
            }
    }
    return false
}

Run Code Online (Sandbox Code Playgroud)

在 kotlin 中break像在 java switch 语句中一样模拟/实现的最佳方法是什么?

java android break switch-statement kotlin

0
推荐指数
1
解决办法
53
查看次数

Break在循环python之外

while True:
    x = raw_input()
    if x =="personal information": 
         print' Edward , Height: 5,10 , EYES: brown , STATE: IL TOWN:  , SS:'
    elif x =="journal":
         name_of_file = raw_input("What is the name of the file: ")
         completeName = "C:\\python\\" + name_of_file + ".txt"
         file1 = open(completeName , "w")
         toFile = raw_input("Write what you want into the field")
         file1.write(toFile)
         file1.close()
else:
 break 
Run Code Online (Sandbox Code Playgroud)

脚本继续给我一个错误,说break是在循环之外是缩进错了吗?

python loops if-statement break

-1
推荐指数
1
解决办法
920
查看次数

无法使用break语句

a=str(raw_input('Enter the word \n'))
def back_word(m):
    b=len(m)
    d=b-1
    print m[d]
    if d>0:
        back_word(m)
        d-1
    else:
        break


print back_word(a)
Run Code Online (Sandbox Code Playgroud)

我的目标是取一个字符串并向后打印字母,每行一个.我在循环错误之外得到了休息.任何人都可以更正我的代码并给出错误的原因吗?

python string break

-1
推荐指数
1
解决办法
89
查看次数

想要退出for循环

当count变为9时,我想从两个for循环中退出.我使用break它但它只能退出第一个for循环.怎么办?

       ArrayList<String> list = new ArrayList<String>();
        int count = 0;
        System.out.println("Before entering to loop");
        for(int i=0;i<5;i++){
            list.add("XYZ"+i);
            for( int j=0;j<5;j++){
                list.add("ABC"+j);
                count++;
                if(count==9){
                    System.out.println("I want to exit from here.");
                    break;
                }
                System.out.println("i="+i+"::j="+j);
            }
            System.out.println("------------");
        }
        for(String str:list){
            System.out.println(str);
        }
    }
Run Code Online (Sandbox Code Playgroud)

java for-loop break

-1
推荐指数
1
解决办法
149
查看次数

如何打破其他条件

我想打破一个其他条件,如果它有一个内部if条件,如果内部if条件内部变为如下,请建议我一个方法.

 if(condition1=true){

        }
    else if(condition2=true){

           if(condition3=true){

              do activity 1;
              //I want to break here if condition3 is true, without executing activity 2 & 3
            }

          do activity 2;
          do activity 3;

    }
Run Code Online (Sandbox Code Playgroud)

java if-statement break

-1
推荐指数
1
解决办法
152
查看次数

打破我的循环

我已经为程序创建了基本结构,但无论我尝试什么,我似乎都无法退出循环.

我还希望它显示用户输入的信息; 一旦我退出循环,从键盘到控制台,但我不知道如何做到这一点.

import java.util.Scanner;

public class Requirement1 {

    public static void main(String[] args) {

        Scanner scan = new Scanner (System.in);
        String name, game, time, points;
        int i = 0;

        System.out.println("Please Enter Your Name");
        name = scan.nextLine();
        System.out.println("Players Name: " + name);
        while (i < 100)
        {

        Scanner scan2 = new Scanner(System.in);
        System.out.println("Please Enter a Game Name (If You Are Done type \"quit\")");
        game = scan.nextLine();
        System.out.println("Game: " + game);

        Scanner scan3 = new Scanner (System.in);
        System.out.println("Please Enter Your Score"); …
Run Code Online (Sandbox Code Playgroud)

java eclipse arrays break while-loop

-1
推荐指数
1
解决办法
121
查看次数

Java'break'语句有时不起作用,为什么?

我有以下方法:

public int quickFind (int[] nums, int lo, int hi) {
    if (lo >= hi)
        return -1;

    int gard = nums[lo];
    int i = lo + 1, j = hi + 1;

    while (true) {

        while (nums[++i] < gard) {
            if (i == hi) {
                System.out.println("break   " + i + " / " + hi + " ->" + (i == hi));
                break;
            }
        }

        while (gard < nums[--j]) {
            if (j == lo)
                break;
        }

        if (i > j) …
Run Code Online (Sandbox Code Playgroud)

java break while-loop

-1
推荐指数
1
解决办法
1540
查看次数