2015-10-13 161 views
1

我必须将此Java代码转换为伪代码。该程序接受2次并以分钟为单位返回时间跨度。将Java编码转换为伪代码

在Java中,我们有int hr1_intint hr2_int那么他们将在伪代码?而字符串,子字符串,parseInt,try-catch结构也会在伪代码中表示什么?

try 
{ 
    hr1_int = Integer.parseInt(hr1); 
    min1_int = Integer.parseInt(min1); 

} 
catch(NumberFormatException e) 
{ 
    System.out.println("The input time is wrong. Please reinput"); 
    continue; 
} 

hr1 = time1.substring(0,2); 
+0

伪代码不是一种编程语言。这是适用于所有语言的通用代码。看起来有人为你的逻辑写了伪代码:) –

回答

2

伪代码不是特定的语言。这是相当避免其语法的代码的一些部分的设计模式,当你

  • 不知道的语言
  • 有更好的东西比照顾做有关语法

的例子可以是 - 如果你想告诉别人怎么做的方法来检查有多少个数组元素是奇数你可以写

for every element in the array: 
     if is odd: 
      increase odd_counter 
     else 
      do nothing 

print odd_counter 

它不是任何一种语言,这只是“怎么写更多或更少”


只是为了使它更加明显 - 请看看tcooc的下面评论 - 用Java/C的有效代码++ /等也可以是一种伪代码

+3

要添加到这个答案,根据定义,即使你有效的Java代码也可以被认为是伪代码。因此不需要改变。 – tcooc

1

伪代码因人而异,因为它基本上只是格式化为类似代码的句子/短语。

hour = parseInteger(hourString); 
minute = parseInteger(minuteString); 
if (errors) 
    output("error message"); 

这只是我虽然,我喜欢我的伪代码看起来更代号,如:

例如,我会这样写的伪代码的例子。其他人可能会写出完全相同的示例,如下所示:

Try to 
    Parse hour integer, 
    Parse minute integer 
If there were errors, 
    Write the errors to console. 

这完全取决于编写它的人。

+0

如果在java程序中我已经初始化了很多东西(例如int a,double b),除了用户输入。我是否也需要把它放在伪代码中?如果是的话应该是什么 –

+0

,如果我做了一些像java一样的东西 if('a'=='b') { break; (意味着继续下一个循环,否则它会重复询问一个问题) } 那么伪代码应该是什么?非常感谢您的帮助 –

+0

@TranMinhQuang您认为应该如何?无论你选择什么,你都可能是正确的。就像我在我的回答中说的那样,伪代码的重点是描述算法。 *只要您准确地描述代码正在做什么,就没有正确或错误的答案。 –

0
public class Main extends AppCompatActivity { 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    this.setTitle("My Daily"); 

    SeekBar sb_value = (SeekBar) findViewById(R.id.seekBar); 

    final ImageButton im_brightness = (ImageButton) findViewById(R.id.imageButton3); 
    final ImageButton im_bright = (ImageButton) findViewById(R.id.imageButton4); 
    sb_value.setProgress(125); 

    sb_value.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 

      im_brightness.setColorFilter(setBrightness(progress)); 
      im_bright.setColorFilter(setBrightness(progress)); 

     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 

     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 

     } 
    }); 



} 

public static PorterDuffColorFilter setBrightness(int progress) { 
    if (progress >= 100) 
    { 
     int value = (int) (progress-100) * 255/100; 

     return new PorterDuffColorFilter(Color.argb(value, 255, 255, 255), PorterDuff.Mode.SRC_OVER); 

    } 
    else 
    { 
     int value = (int) (100-progress) * 255/100; 
     return new PorterDuffColorFilter(Color.argb(value, 0, 0, 0), PorterDuff.Mode.SRC_ATOP); 


    } 
} 

public void helloexp(View v) { 
    Intent intent = new Intent(Main.this, Home.class); 
    startActivity(intent); 
} 
public void hellonotes(View v) { 
    Intent intent = new Intent(Main.this, MyNotes.class); 
    startActivity(intent); 
} 
}