2015-10-13 800 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); 
} 
}